Posts Tagged ‘SOA’


AIA Origins – Service Oriented Architecture

February 29th, 2008 by Robert McMillen • No Comments »

With the introduction of Services, XML, Java and the introduction of WSDL, WSIF there came other new supporting software products. Java had always depending on the Java Virtual Machine because it is essentially an interpreted language (but it can be compiled to machine language..).

The new supporting software products included the Enterprise Service Bus (ESB), the Business Processing Execution Language (BPEL) and the Business Process Engine.

BPEL was an XML language for grouping the execution of individual Services together. BPEL is sort of like a batch language. It provides If-Then-Else capabilities and can start a Service, send it a message, and handle the result. BPEL needs a Business Process Engine (written in Java) to execute. The nice thing about BPEL is that it is a configuration language that doesn’t require complex programming. It relies on the Services to do the low-level work. If a Services is an employee, then a BPEL document is the Manager telling who to do what and when.

The ESB was a solution for the problem of automating connections between different environments and doing any necessary translation. Many systems have different formats for their information and it made sense to create something in-between to translate the format and pass it automatically on to the destination. ESB is a Java program that does this using XML instructions. It is called a Service Bus because like a Data Bus in that it manages the transmission of information between two parties.

ESB, BPEL and the Business Process Manager/Engine along with several other components are typically bundled into a SOA Suite. The other components could be a Service Repository which is a directory of the registered Services or a Web Services Manager (WSM) which enforces certain security restrictions. What security you ask? Well suppose you have a Service that returns compensation from the Payroll system. You would want to restrict who could call that Service, right? The WSM allows restrictions to be defined so that doesn’t happen.

So now we have a Service Oriented Architecture Suite. That seems nice and tidy. Why would we need anything more? And that’s where AIA Foundation Pack comes in…

No Comments »

 

AIA Origins – The XML and Java Factor

February 29th, 2008 by Robert McMillen • No Comments »

AIA and SOA are all based on industry standards that have developed over the last 10-15 years. Several of the key standards were Java and XML.

With the advent of the World Wide Web there was a whole new emphasis on sharing information through the Internet. Everywhere developers were trying to come up with common ways to do this using Java.

Service Oriented Architecture (SOA) was an eventual outcome of the idea of building re-usable building blocks of programming code (usually in Java).

These shared blocks of code in the Web World became known as Services and were usually executing on a Web Server. They were originally considered “Web” services but over time that changed to include other languages and non-web environments.

At the same time HTML (HyperText Markup Language) was becoming popular because of the World Wide Web and developers saw the potential to use a variant, called XML (Extended Markup Language) for sharing information between Services.

XML is an easy way to describe sets of information in a language friendly method. XML is nice because you can define anything you want and transmit it as a set of characters. A good piece of XML includes both the data and descriptions of what the data is. That’s different from traditional transactions which only include the data. Here’s an XML example.


As you can see this is a “note” to Lou Ann from Robert. Each data field is delimited by a bracketed field name. If it were an true email it would have definitely many more data elements like email addresses, dates, etc.. But as you can see the XML does a good job of describing what is being sent and then providing the actual data. It’s human readable which is also a nice feature.

Once XML became popular other things were built on top of it using the same concept. One was WSDL(“wisdull”). Web Services Definition Language is an XML document that describes what a Service is and what it does and what it requires. Think of it as a resume’ for a Service.

If you want to talk to a Service you ask for it’s WSDL and then you know all of the important details about it. But what if the Service is not Java or some modern language? What if it was Cobol? No problem.

If you have a Cobol program that accepts input, does some function and provides a result you can make it look like a Service as well. That would require WSIF or Web Services Invocation Framework. This is a Java Applications Programming Interface (API) that allows non-Java formats to work with other Services.

Soon other XML-based solutions came along like SOAP (Simple Object Access Protocol) which is a way to send messages between Services using XML.

The combination of Java and XML was a real change agent for sharing information both inside organizations using their IntrAnet and with partners using the Internet.

Now, let’s see if we can get back closer to the topic of AIA by understanding more about SOA.

No Comments »