Skip to content

Wrench in the Cog

Throwing a wrench into the cogs of a programmer's life

Archive

Category: Other Technology Stuff

Oky doky, here we go…

We’ve seen all the launch material, presentations, videos, MSDN stuff, blogs, and even followed the forums. Now it is time to sink some teeth into this LightSwitch.

Here’s the deal though. Instead of doing a one-off post on the end-to-end process of creating an application. I am going to take a methodical approach to creating some chaos by developing an application using LightSwitch.

Some small business friends of mine have been asking for a time tracking and invoicing type application from some time now. Creating this using LightSwitch will be a great opportunity to learn something new as well as potentially help some of these small business folks as well – a win-win you might say.

Thing is though is that I like to learn how things work by breaking them; and it’s not by choice. Kind of like the old cassette tape recorder I had as a kid. I think I spilled some pop on it and ruined the tape reading thingie. ?But it did end up making a great motorized rappelling device for my GI Joe. I am going to start creating an application and as I go I am going to see what I break or do wrong, and hopefully learn from it, which is why I writing these articles, because sometimes I forget… What was I talking about? Oh yea. LightSwitch. Let’s get started.

Starting LightSwitch

Because I am a SuperSoftwareMegaHyperEngineerGlobalProfessionalArchitect developer, I will not bother you by telling you about my blindingly superior credentials. Instead, I will awe you with a demonstration of….SQUIRREL!!

So I fire up Visual Studio 2010 because I heard that if you already have Visual Studio installed, LightSwitch will integrate as Visual Studio C# and VB project templates.

Crap! My first fail of the demo already. Looking at the New Project dialog I find that there are no LightSwitch templates. All I see is a “No Items Found” templates pane.

"No items Found"?

"No items Found"?

Yes, okay smarty pants, you can see the problem. LightSwitch creates applications that, under the hood, use .Net 4 built stuff like entity framework and WFC RIA Services (more stuff we’ll wreak havoc on later). So, I simply select .NET Framework 4 from the framework dropdown box and {throw pepper spice on beef dish and yell?explicative?here}, I see a couple of LightSwitch project templates.

Select the .NET Framework 4

Select the .NET Framework 4

I See The Light(Switch) templates

I See The Light(Switch) templates

Selecting a Template

Because I am a such a?sophisticated, highly refined developer with a flair for?semantics, I select the LightSwitch (Visual Basic) template. Don’t get me wrong. I don’t mind C# it’s just not my lifestyle. I have some C# friends, and they are very nice people. They just beat to a different drummer, that’s all. Not that there is anything wrong with that!

Before I proceed, I first have to give my new project a name. To name my application I carefully consider what I want to create. I want create to something that;

  • manages company stakeholder information, such as customers, vendors, and employees,
  • allows employees to input time, material, and expense information,
  • allows managers to approve time sheets and create invoiced, And
  • is delivered as an application service via the Interweb.

…I enter “MyFirstApplication” in the Name field and press the OK button.

Selecting the template and naming the project.

Selecting the template and naming the project.

With that, LightSwitch works its magic and creates a project within Visual Studio. The first thing that I see within the IDE is a designer window titled “MyFirstApplication Designer”. ?The IDE also shows the project definition with a couple of folders in it.

LightSwitch created project

LightSwitch created project

And as you may have already noticed, I have a critical Visual Studio feature docked to the left of my IDE. This is a very important feature that without, I wouldn’t be the hugely successful developer that I am today…

The Secret

The Secret ... shhhhhhh!!

And on that, I believe I have provided enough for you to really, really think about for one day. Actually, Photoshop is starting spin my cooling fan so fast that my laptop is starting to hover on my desk. Time to shut it down.

In my next post, I will start telling my application about the data it is going to use. And just like Jason and the Argonauts?fighting to fluid moving skeletons on the top of the mountain, I am going to slay me some business entities.

Cheers!

Popularity: 37% [?]

Hey,?I don’t need a map. I know where I am going

Maybe I should have read the instructions before attempting the beta 1 install of LightSwitch. I fired up the virtual DVD drive and double clicked?Setup.exe. The excitement was killing me…

Maybe I should have read the instructions?

Maybe I should have read the instructions? (click to see the details)

Doh! You would think I?would have known better when I saw the “…Beta Prerequisite…” item on the MSDN download site.?

No probs. A short download later and I am now installing the prerequisite WCF RIA services.

Ooops.? The prerequisite bombed on me because I already have a previous version of something installed…

Second Fail

Second Fail

Again, get a map buddy!

Okay, just to be safe, I am going to uninstall whatever WCF RIA Services stuff I already have…

Uninstall Existing WCF RIA Services Stuff

Uninstall Existing WCF RIA Services Stuff

I also uninstalled the toolkit too. Okay, lets try again…

Microsoft Visual Studio Beta Prerequisite Setup…

Prerequisite Install - SUCCESS

Prerequisite Install - SUCCESS

Yay! Now for the LightSwitch Beta 1…

…looking good so far…

Further ahead than last time...

Further ahead than last time...

Saweet!!…

Success

Success

I?am now a certified, “Do it the long way” LightSwitch Beta 1 installer. I have already made up my little plastic card!

Popularity: 23% [?]

If you are an MSDN subscriber then you can now download the Beta 1 of Visual Studio LightSwitch (here).

I was out at an appointment so I missed the announcment this afternoon, otherwise it would have already been downloaded, installed, and a blog post up about the installation experience already.

LightSwitch Beta 1 Documentation on MSDN?

Vision Clinic Application Walkthrough and Sample

Here ‘ goes…

Popularity: 18% [?]

LightSwitch is a tool that will be used to easily create .net applications for the desktop as well as for the ?cloud?. LightSwitch takes software development best practices and encloses them into an easy to use tool that developers can use to quickly build data centric Silverlight 4 applications.

The more I understand LightSwitch, the more I can understand what the value proposition will be for using LightSwitch in a larger enterprise. ?Although LightSwitch is not targeted specifically at organizations with dedicated IT business units, there is some value in enabling an enterprise with the tool.

My life in IT started out in a role as a Business Analyst. A Business Analyst is, essentially, the liaison between an organization?s business units and its information technology group. From line of business application support, to defining requirements of a brand new system, the role of a business analyst wears many hats. Fundamental to the role is making sure that the IT related issues are mapped and measured directly to the overall goals and objectives of the organization. I?ve worked as a Business Analyst for many years with a number of organizations, and have arguably worn every hat possible.

Here are some of things I have seen and learned over the years as a Business Analyst, as well as many other roles.

Empowerment

Like it or not, non-IT business units are going to build and use IT solutions.

Every single organization I have worked for has technology related solutions that are not, or were not originally, under the watchful and controlling eye of that organizations’ information technology group. I have seen everything from synchronizing mobile device applications to single user database applications being created by and used by non-IT business units. Often times these are applications that were created without the support of the IT group.

From a technology perspective, the larger the organization is, the more disparate business units become. This is likely because the group that is charged with managing an enterprise?s technology must carefully place priority on the biggest issues. A small business unit that needs a technology solution, like a simple database application, is likely not going to be put high on the IT priority list. And even if they get on the list, there are plenty of bigger, enterprise class IT fish that need to be fried.

Knowing Enough to be Dangerous.

Everyone in an organization has goals and objectives. Business units have their own goals mapped to the greater good of the enterprise. So if there is a potential to leverage a technology solution to help meet their own objectives, and they are not going to get support from the IT group, then what are they to do?

There were times when I would work 100% of my time on issues from software applications built by business units that had no or little experience in creating software. These are applications were needed sooner than later and were created to solve real business problems. The risk of not achieving or solving a business need was such that a solution was required, regardless of the quality and supportability of it.

Microsoft Access based applications are a prime example of how business units create tools that help solve common business problems. Most of the time these types of applications are created by people who have very little experience with software design. I have seen many Access based applications created with table structures that were simply the duplication of existing Excel spreadsheets. With a little reading, a person can quickly replace a spreadsheet solution with an Access based application with tables, queries, and forms for data visualization.

Usage of business unit created applications grows quickly. Without formal IT support and control, business units can quickly respond to their own requirements. It is not uncommon to see simple applications like these become mission critical for the business unit. Even more growth occurs across business unit domains where other groups see and recognize the value in the solution. Before long, that once simple Access based application has become a division wide line-of-business application.

Where’s the Value?

LightSwitch has been criticized by some as being a Microsoft Access replacement, or as a tool that does the same as Access ? a drag and drop development tool. In fact, LightSwitch is not a replacement for Access. Instead, LightSwitch offers an application developer with a richer set of tools that delivers applications in a quicker and more effective way than Access can.

Notwithstanding, Access is still a great tool, however it would take a lot more time and effort to create an application that can be created using LightSwitch. Creating an Access application with; three tier architecture, model driven abstraction, and uses distributed business logic and data tier via the cloud? You do the math. Without training and experience, how long would it take you to create an Access based application to do all that?

From an enterprise perspective, there are a couple of value propositions here.

LightSwitch offers a data centric approach to creating applications, without requiring a developer to know much about the plumbing required to create databases and user interfaces. In Access, a user needs to design tables, queries, forms, and then wire the forms to the data. This workflow is somewhat similar in LightSwitch; however LightSwitch does so using a much more intuitive workflow.

Using this data centric approach, LightSwitch creates an application using software design best practices, without requiring a developer to write a single line of code. Creating sources of data is one thing, but wiring up the business logic, communication with the data source, and data presentation is another. LightSwitch takes care of all that for you. From a business perspective, that means the developer will save time in that the developer does not have to manually create the coding infrastructure needed to do all that.

LightSwitch can consume a variety of sources of data. Using WCF RIA services, LightSwitch can consume a number of data sources. This provides an opportunity to create enterprise managed services that can be consumed by LightSwitch. Business units can then create applications that use services that are managed and controlled by the enterprise IT group. Rather than create disparate islands of duplicate information, services provide integration points across the enterprise, including LightSwitch specific extension points such as custom business types. This provides the IT stakeholders in an organization the some level of manageability and supportability controls.

Some organizations may even see value in providing the infrastructure for LightSwitch application deployments. Business units who create LightSwitch applications can publish their applications to centrally managed locations. Publishing databases and applications to IT managed servers could satisfy IT controls issues such as backup, network traffic, and version control. For example, how many multi-user access databases are out on the network, using linked databases that reside on shares?

There are probably plenty of other scenarios where using LightSwitch has value in an enterprise. There are plenty of scenarios where using LightSwitch would not make sense. It really depends on needs and capabilities of your own organizations. If I had LightSwitch back when I was doing the Business Analyst stuff, I know I could have freed up a good chunk of time to do other stuff.

Popularity: 28% [?]

Here are some takeaway notes for a recent CodeCast episode -?LightSwitch for .Net Developers with Jay Schmelzer.

CodeCast co-hosts Ken Levy and Markus Egger talk with Jay Schmelzer,?Program Manager with Microsoft Visual Studio Business Applications team charged with LightSwitch…

  • New ?Product?, a version of Visual Studio with its own price point (SKU).
  • Will be priced as an entry level price point into Visual Studio.
  • Pricing not set yet, but should be priced somewhere between Visual Studio Express (free) and Visual Studio Professional (not free).
  • With MSDN subscription, will be able to integrate with existing Visual Studio installation.
  • If you don?t have MDSN and you buy a stand-alone version of LightSwitch, and you already have Visual Studio, it will also integrate.
  • Integrating LightSwitch with an existing Visual Studio Pro (or better) will allow the developer to extend a LightSwitch project.
  • LightSwitch is being marketed as the easiest way to build .net applications for the desktop or the cloud.
  • Create a class of business applications that typically are not being developed by enterprise I.T. departments. For example, business units that cannot use enterprise I.T. groups.
  • As well, small and medium sized businesses that do not have I.T. departments.
  • Not enterprise critical applications; relatively small number of users.
  • A rich-client application by using Silverlight 4.
  • Typically a stand-alone, in-browser or on desktop application.
  • Will run in any browser that supports Silverlight 4.
  • Not a code-generator, but rather a metadata generator.
  • Taking a model centric approach to designing an application.
  • Silverlight creates a Silverlight 4 client application, a set of WCF RIA services, and Entity Framework model without the developer having to think about anything.
  • LightSwitch creates the 3-tier architecture using best practices.
  • Goal is to dramatically simplify the development of an application.
  • Targeted at someone who is confortable writing some code.
  • Typically, a LightSwitch developer will need to write some code.
  • Not an Access replacement.
  • Model driven approach, using the LightSwitch tool creates the underlying architecture. It is not a wizard based approach. Developers use the environment to define and model the data to be used and then, through dialogs and screens in the IDE, create user interfaces based on the model.
  • LightSwitch implements many best practices in its metadata design.
  • Allows enterprise I.T. departments a way of allowing non-IT business units the ability to create solutions that can be supported by I.T. For example, provisioning servers for business units to publish their LightSwitch solutions to; bringing the business unit developed solutions into the IT models for support and management.
  • Enterprises can create and expose a set a core services that business units can then consume using LightSwitch. The services exposed are controlled by the enterprise, ensuring the rules and protocols are being adhered to.
  • Potential huge ecosystem for LightSwitch because of the extension points available. E.g. Templates, business types, etc?
  • At its code, LightSwitch is a code Visual Studio application. This means that the LightSwitch IDE can be extended.
  • LightSwitch specific extension points include; business types, templates for screens, the overall U.I. shell (or chrome) of the application.
  • Not constrained to what LightSwitch creates. You can create your own screen, using a Silverlight user control, and plug it in to your LightSwitch application. You?ll be able to then still bind your own screen using the LightSwitch binding.
  • Will have the ability to deploy directly into the Windows Azure and SQL Azure cloud (not using beta 1 though).

Popularity: 27% [?]