Leveraging Microsoft .NET technologies with LANSA
This article originally published in the Architects Corner section of our LANSA Review customer magazine Issue 35, 2007.
The Microsoft .NET Framework is an emerging core technology that is starting to be used in many commercial applications. It is the foundation of Microsoft's vision of how both user and programmatic computer interfaces will execute – not just next year and the year after, but five or more years into the future.
LANSA has long used Microsoft's core technologies to drive advances in its application development and integration tools, so an obvious question to ask is, "What is LANSA doing about leveraging .NET?"To fully answer that question, we need to be aware that .NET is a broad and far-reaching technology that is advancing on many fronts. So LANSA is advancing its tools along the .NET 'evolutionary tree' on several fronts as well.
The Technology Evolutionary Tree
LANSA is not in the business of creating the low-level plumbing technologies and languages that drive computers and programmatic interfaces. We are in the business of leveraging and hiding the complexity of core technologies like .NET, Java, XML or Web services. Using a scientific analogy, LANSA is about applied science, not about pure science.
Inevitably, some core technologies wither and fade and new ones emerge to replace them. In many cases, there are parallel competing technologies that address the same business objectives.
LANSA not only needs to choose which core technologies to support, we also need to be well positioned to change these choices quickly and with the least disruption possible. This is what we call 'technology insurance'.
The Three Drivers of LANSA's Advanced Software Development
Broadly speaking there are three main factors driving the technology choices behind advances in the LANSA toolset:
- Improved Capabilities — doing new things or old things a better or cheaper way
- Better Interoperability — between operating systems, development languages and hardware
- Higher Productivity — when designing, developing and using LANSA applications
Capability Driven Advances
Sometimes, a new technology emerges that lets you do things that you could not do before, either because it was not technically possible or it was too expensive to implement.
For many years LANSA has used Microsoft core technologies to drive advanced application development. For example, Visual LANSA uses the WIN32 API Rich-client interface and the Microsoft C++ compiler. LANSA for the Web and the Visual LANSA Framework have always focused on supporting Microsoft's Internet Explorer browser interface.
The architecture of .NET lets LANSA provide capabilities that it could not deliver before or deliver them in a more effective manner. For example, it will be possible to generate Web-based Visual LANSA Framework and RAMP applications as C# and compile them as .NET CLR executable objects.
Interoperability Driven Advances
LANSA and .NET applications need to be able to use (that is, publish or consume) the services provided by each other. While you can do this now, it is sometimes technically complex and time consuming. The level of interoperability between LANSA and .NET applications will be improved and refined.
LANSA Open for .NET is a new product that will bring the productivity and discipline of the LANSA Repository to .NET application developers. Shipped as a small and standardized .NET class library, the product will allow .NET applications to easily access LANSA repositories residing on System i and Windows servers. The last page of the PDF version of this article explores LANSA Open for .NET in more detail.
LANSA developers will also benefit from enhancements to Visual LANSA that will provide better interoperability with .NET applications and Web services.
Visual LANSA will support the consumption of .NET classes directly and allow LANSA objects to be published for direct use by .NET in the same manner as can now be done with ActiveX components. Visual LANSA will also allow LANSA objects to be published via SOA and Web service interfaces, as well as consuming SOA and Web services directly. This can already be done with LANSA Integrator.
Productivity Driven Advances
The development of .NET (or for that matter Java) applications at the 3GL level is labor intensive and requires above average skills. Designing, implementing, testing and deploying business applications in these environments continues to stretch the capabilities and budgets of the small to medium enterprise (SME) community where LANSA has found most favor.
The application maintenance issues inherent with these technologies will only add to the life-cycle cost and there are a number of areas where LANSA can add value. For example, you can already embed Visual LANSA Framework and RAMP applications inside .NET applications as a productive way to modernize 5250 applications. The Visual LANSA Framework will be extended to allow the embedding of .NET applications.
The LANSA Repository has always been LANSA's unique and strongest value proposition. The inclusion in Visual LANSA of a Business Object Builder will launch the next generation of the LANSA Repository.
LANSA Business Objects will have full class interfaces that are automatically useable in both Windows and Web contexts by LANSA, .NET or Java applications.
LANSA Business Objects can be envisioned as Object Access Modules (OAMs) on steroids that will:
- Hide internal complexity from developers
- Allow higher levels of reuse
- Contain complex business processes, not just business rules
- Create better IT skills separation
- Make user interfaces thinner
- Reduce the cost of maintenance and enhancement
- Be automatically published using industry standard interfaces and technologies
LANSA's Proven Track Record
For nearly 20 years, LANSA has been about applying core technologies to deliver new capabilities, increase developer and user productivity and to reduce the costs associated with the ongoing maintenance of applications and developer skills.
Better interoperability between LANSA and .NET applications will benefit developers of both LANSA and .NET applications and is another example of how LANSA provides technology insurance.
LANSA is your Microsoft .NET Technology Insurance Policy
Capability Driven Advances: By leveraging the architecture of .NET, LANSA can deliver new capabilities or improve the effectiveness of existing features.
| PRODUCT AREA | DESCRIPTION AND BENEFIT |
|---|---|
| Visual LANSA Framework and RAMP as .NET executable objects | It will be possible to generate Web-based Visual LANSA Framework and RAMP applications as C# and compile them as .NET CLR executable objects. This feature is due for release in the first quarter of 2008. These compiled .NET applications will offer significant performance and user interface improvements, while still providing the benefits of a zero deployment model. |
Interoperability Driven Advances: The level of interoperability between LANSA and .NET applications will continue to improve and be refined.
| PRODUCT AREA | DESCRIPTION AND BENEFIT |
|---|---|
| LANSA Open for .NET | Shipped as a small and standardized .NET class library, LANSA Open for .NET will allow .NET applications to easily access LANSA repositories residing on System i and Windows servers. This new LANSA product is due for release in the first quarter of 2008. LANSA Open for .NET will open up the productivity and discipline of the LANSA repository to .NET applications. See the Spotlight section on page 3 for more details. |
| Visual LANSA classes published as .NET objects | It will be possible to publish Visual LANSA objects (or more correctly, classes) for direct binary level use inside .NET CLR applications in much the same way as they can now be published as ActiveX components. |
| Visual LANSA classes published as SOA and Web services | It will be possible to publish Visual LANSA classes with SOA and Web service interfaces. It is already possible to publish these interfaces for LANSA applications using LANSA Integrator. |
| Visual LANSA to consume .NET classes | Visual LANSA applications will be able to consume .NET classes directly at the binary level in the same way as they can now consume ActiveX components. |
| Visual LANSA to consume SOA and Web services | Visual LANSA applications will be able to consume Web services. It is already possible for LANSA applications to consume these services using LANSA Integrator. |
Productivity Driven Advances: Here are some areas that the LANSA Repository can improve the productivity of 3GL level .NET application development.
| PRODUCT AREA | DESCRIPTION AND BENEFIT |
|---|---|
| Visual LANSA Framework and RAMP embedded inside .NET applications | Visual LANSA Framework and RAMP applications can already be embedded inside and managed by .NET applications. This feature will be strengthened and standardized in the next release of the Visual LANSA Framework. This capability offers significant productivity benefits to customers migrating 5250 applications to .NET environments. |
| Embed and manage .NET applications inside Visual LANSA Framework and RAMP | The ability to embed .NET applications inside the Visual LANSA Framework as a new type of snap-in component will allow the Visual LANSA Framework to be used to manage .NET-based applications. This will provide significant benefits to .NET-focused customers who lack the skills and/or time required to design and build their own commercial grade application framework. |
| Visual LANSA Business Object Builder | The LANSA Repository has always been LANSA's unique and strongest value proposition. The inclusion into Visual LANSA of a Business Object Builder will launch the next generation of the LANSA Repository. Business objects can be envisioned as enhanced OAMs with full class interfaces that are automatically useable in both Windows and Web contexts in LANSA, .NET or Java applications. |
