Challenge

A major university in New England adopted a strategic multi-year infrastructure modernization project to both replace out-of-date systems and increase IT capabilities while maximizing the return on all IT investments. Critical for success was an architecture that utilized legacy systems, supported the introduction of new application and eased the eventual replacement of legacy systems.

Solution

Move to a Service Oriented Architecture (SOA) run on an architectural intermediary that would accept requests from applications and would service those requests using legacy systems (at first) and replacement systems (eventually).

Result

An Enterprise Service Bus (ESB) based on NetKernel provides the foundation for the SOA and the modernization program. In less than six months, a team of three software architects implemented a resource oriented ESB and several initial services. Success of the first phase launched the University's incremental adoption of SOA.

RESTful ESB

Collaborative Consulting [1], is an industry leading consulting services company headquartered in Boston, Massachusetts.

About the client

Collaborative Consulting's client is a major university located in New England. The University has been under constant pressure from students, staff and alumni to provide on-line 24/7 access to information via intuitive interfaces and streamlined automated processes.

The Challenge

The University IT department supports a wide variety of applications including Commercial off the Shelf (COTS) products such as PeopleSoft, mainframe legacy applications built on top of Customer Information Control System (CICS) and modern J2EE web applications built using Oracle Application Server Portal. In addition, many of the applications interact with third party Application Service Providers (ASP) and provide historical information to a Data Warehouse. All of these had to be integrated and coordinated with the new SOA approach.

The University traditionally used IBM MQ and the File Transfer Protocol (FTP) to integrate business systems. This approach resulted in a number of point-to-point (P2P) integrations which are costly to maintain and yielded tight coupling between the consumer and provider. An Enterprise Service Bus (ESB) - a specific type of a message bus architecture - provides a more decoupled environment and, while it has a higher up-front cost of deployment, it was determined that the value of an ESB increases exponentially over time while the costs of extending the system remain linear and predictable.

The Solution

The solution designed by Collaborative Consulting is an SOA running on an ESB.

Collabortive Consulting considered using WS-* based products such as Apache ServiceMix or Cape Clear however they determined WS-* was not only in a constant state of flux it requires an understanding and mastering over 1300 pages of specification details. An ESB built on a RESTful or Resource-Oriented approach was deemed much simpler and requires many fewer development steps.

Collaborative SOA Architecture Design
Figure 1: Service Oriented Architecture Design

Once the RESTful approach was selected, Collarborative evaluated technology and product alternatives such as 1060 NetKernel and Codehaus Mule. NetKernel was selected because only it is built on a Resource-Oriented Computing (ROC) platform which is essential for implementation simplicity, flexibility, code minimization and performance.

Java Message System (JMS) and Hypertext Transfer Protocol (HTTP) transports from NetKernel were used to communicate with external services and systems. The embedded Hypersonic database was used to store information such as user privileges.

Collaborative NK based middleware design
Figure 2: SOA Technology Platform

RESTful ESB design

The ROC foundation provides a transport independent computing abstraction in which resources can have representational forms such as a web page, an XML document or a PDF file. A ROC service exposes resource representations using a resource identifier or address. The resource identifier is actually a relative Universal Resource Identifier (URI). A URI is composed of two parts, the scheme (e.g. HTTP or FTP) and the address. The second part of the URI is relative. For example, the address /domain/account/45322, is relative until it is associated with a scheme such as http (http://domain/account/45322).

An ROC service defines a set of actions, Create, Read, Update and Delete that can be invoked on a resource. In addition, certain actions may trigger rules using business logic. When a resource is requested, a physical immutable representation of that abstract resource is returned. Different types of representations can be returned based on e.g. the type of consumer. For instance, most back-end processes require an XML document while a front-end process may require a JSON object. The service also can receive a representation used to create a new resource or update an existing resource. Finally, the service can receive a request to delete a resource.

NetKernel as a foundation for RESTful ESB

Collaborative implemented the ESB using 1060 NetKernel. At the heart of NetKernel is a RESTful or resource-oriented microkernel responsible for resolving logical URI requests to physical code endpoints and scheduling the requests on an available CPU core. While the mapping of logical addresses to physical code is defined in the application structure, the actual binding of logical address to physical code occurs only for the duration of the request and is then discarded.

Because each logical request is bound anew to physical code, system administrators are free to change the association between logical address and physical code while the system is running, enabling capabilities such as real-time code updates. Performance in practice is paradoxically not degraded by this indirection and binding but rather enhanced as the URI address acts as a key to NetKernel's internal cache. When a resource is re-requested and its dependencies have not changed the cached representation is returned instead of forcing an unneeded re-computation. In a typical operational NetKernel system the cache hit rate is high enough for the system to perform at 3x to 4x the speed of a similar system coded in Java J2EE.

Summary

1060 NetKernel allowed the University to implement an SOA architecture with a very good return on investment (ROI) and short payback period. The lower cost of entry for each added service has kept the overall IT budget in line with their needs.

References

[1] Collaborative Consulting http://www.collborativeconsulting.com

"The thing I really find amazing about NetKernel is the amount of code we end up writing... or rather the lack of... we now spend most of the time structuring what our product needs to do and much less on actual coding."

- Frank Boddeke
Chief Technology Officer
Edge Technologies Bv.

Enterprise Trial Offer

Try NetKernel Enterprise free for 90 days.

Includes free access to the support portal where you can get help, submit and track questions, collaborate and document your project.

download now