Great Lakes Software Symposium
November 12 - 14, 2010 - Chicago, IL
View the event details here ».
Chief Architect - Software Engineering Aficionado
Jeremy Deane has over 18 years of software engineering experience in leadership positions. His expertise includes Enterprise Integration Architecture, Web Application Architecture, and Software Process Improvement. In addition, he is an accomplished speaker and technical author.
RESTful web services have become the preferred approach to synchronously integrating heterogeneous systems. The architectural style’s success is due in large part to its simplicity. Furthermore, REST is based on a small set of widely accepted standards, such as HTTP and XML and requires far fewer development steps, toolkits and execution engines than conventional SOAP web services.
In this session, I will cover the key concepts behind REST and walk through the process of designing, implementing and testing RESTful web services. In addition, I will present web service demos based on several popular RESTful frameworks including RESTlet, Spring MVC, and NetKernel.
An Enterprise Service Bus (ESB) provides a platform for service provisioning. The core capabilities that enable provisioning across an enterprise include addressing, routing and transformations. Addressing is the ability to specify the location of a service regardless of transport. Service routing defines a message path across a number of servers or nodes and message content transformations are implemented using XML technologies such as XSLT and proprietary adapters.
Resource Oriented Architecture (ROA) goes beyond RESTful web services and provides a more extensible transport-independent foundation. Furthermore, ROA pushes the integration functionality to the edge of the network (as a URI), translating into better service management and scalability.
In this session, I will explore the convergence of Resource Oriented Architecture and Enterprise Integration Patterns. I will then present a Resource-Oriented ESB and several service examples using 1060 Research’s NetKernel and Apache ActiveMQ.
Traditional concurrent development on the Java Platform requires in depth knowledge of threads, locks, and queues (oh, my!). Fortunately, new functional languages that run on the Java Platform, such as Scala, have made concurrent programming easier.
An alternate approach is to implement concurrent processes using a resource oriented computing (ROC) platform. At the heart of this ROC platform is a microkernel that allows processing to scale linearly as more CPUs are added. Consequently, developers are freed from the complexity of Java concurrency and functional programming.
In this session, I will provide an overview of resource-oriented concurrent programming using 1060 Research’s NetKernel. I will then present examples that compare and contrast this approach against concurrent programming using Java and Scala.