Monday, February 23, 2009

SOA Live Demo - Web Services

Download the source codes from here.

Requirements - Java Development Kit, NetBeans 6.5, GlassFish v2, Visual Studio 2008, Internet Information Services.

Follow the below steps to get the projects running in Java and .NET Environments. There are four projects in the download archive - Palindrome_WebService, Palindrome_Java, Palindrome_JSP and Palindrome_J2ME.

SOA Live Demo - Java Native Interface

Download the source codes from here.

Requirements - Java Development Kit and Visual Studio.

This article focuses on how to connect a C++ Dynamic Link Library to a Java program using the Java Native Interface. To run a C++ function in a Java program, we would require the C++ function to be in a DLL and this DLL to be loaded at run-time into the memory by the Java program.

Load the library from the Java program using the full path with the load function or let the JVM load the DLL using the system path with the loadLibrary function.

SOA - Adapters, Benefits And The Future

SOA Adapters

Adapters are interfaces to connect to heterogeneous systems. Several vendors provide adapter solutions for creating web services around existing applications. Typical adapter solutions cover Database adapters, File (Local, FTP) adapters, ERP Application adapters, Polling adapters, etc.

Organizational Approach To SOA

SOA plays an important role in organizations. If an organization is starting fresh in terms of IT solutions, it can implement the concept of SOA directly.

The challenge comes up in those organizations that have existing applications and these applications being heterogeneous in nature. A typical organization can have ERP applications (SAP, Oracle), Java applications, .NET applications and LAMP applications. To avoid complex maintenance activities and address future requirements, organizations are taking the following steps –

Composite Services Using SOA

Services are generally created from scratch or are formed from existing services. One of the key concepts of SOA is the creation of composite services.

SOA facilitates reuse of existing services to provide complex services, thereby avoiding redundancy of a particular service.

SOA - The Web Services Model

The latest trends of SOA follow the Web Services model for implementing the Service Providers. However, the first question which arises here is - "What's a Web Service?"

According to W3C, A Web Service is a software system designed to support inter-operable machine-to-machine interaction over a network. A Web Service has an interface described in machine-processable format, specifically WSDL (Web Service Description Language). The services provided by the Service Providers are maintained as a list by a Service Broker which interacts with Service Providers and Service Consumers using UDDI (Universal Description Discovery and Integration) Inquiry and Publish.

SOA - The Simplified Model

For several college students and graduates, the concept of SOA can be well comprehended with traditionally taught languages in several of the educational institutes – C++ and Java. A C++ function can be created to provide a service, and this function (service) can be used in a C++ program as well as in a Java program.

In terms of SOA, a C++ service is being utilized by a C++ consumer as well as a Java consumer.

The C++ function can be used in a Java function using the Java Native Interface (JNI). The JNI is a programming framework that allows Java code running in the Java virtual machine to call libraries written in other languages, such as C, C++ and Assembly.

The Philosophy Of SOA

SOA is not a product; instead it is an architectural approach for building solutions. SOA is primarily a concept of Service Providers and Service Consumers. SOA refers to the architectural style in which Service Consumers use the services offered by Service Providers. The essence of SOA lies in consumer centric behavior, and in ensuring that services can be located dynamically on need basis.

Sunday, February 22, 2009

Service Oriented Architecture - Bringing Versatility To Business

According to a survey, a search made in Google for SOA would yield about 8 million entries. This clearly emphasizes the popularity and demand for SOA in today’s IT market.

Judging this huge demand for SOA, I decided to take up a short series of blog articles about SOA and how SOA can be implemented as a programmer.