middle ware 101

Upload: blue-vela

Post on 07-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/4/2019 Middle Ware 101

    1/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    Middleware 101

    By

    Joseph Amrith Raj

  • 8/4/2019 Middle Ware 101

    2/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    Table of Contents

    What is Middleware? .......................................................................................3Three-tier architecture ....................................................................................3

    First tier. .....................................................................................................4Second tier..................................................................................................4Third tier.....................................................................................................5

    Communication among tiers: ...........................................................................5Components of Middleware..............................................................................5

    Web server .................................................................................................5Application server ........................................................................................6Directory server (LDAP) ...............................................................................6Access Manager...........................................................................................7

    HTTP and HTTPS - What is the difference? .......................................................7What is SSL?...................................................................................................8

    What is Digital certificate? ............................................................................8SSL in action ...............................................................................................9

    Messaging Middleware ....................................................................................9Message-oriented middleware (MOM) .........................................................10Advantages of MOM...................................................................................10

    Storage ..............................................................................................10Routing ..............................................................................................10Transformation ...................................................................................10

    Components of messaging middleware...........................................................11Message queuing software .........................................................................11Message Broker .........................................................................................11

    Words that you come across in middleware ....................................................12Load balancing ..........................................................................................12The web connector plug-in.........................................................................12Servlets.....................................................................................................12Jsp ...........................................................................................................12Enterprise java beans ................................................................................12Jdbc..........................................................................................................13Connector .................................................................................................13

    Rich client .................................................................................................13Legacy systems .........................................................................................13

  • 8/4/2019 Middle Ware 101

    3/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    What is Middleware?

    Middleware is computer software that connects software componentsor applications. It is used most often to support complex, distributed

    applications. It includes web servers, application servers, contentmanagement systems, and similar tools that support applicationdevelopment and delivery. Middleware is especially integral to moderninformation technology based on XML, SOAP, Web services, andservice-oriented architecture.

    Three-tier architecture

    Three-tieris a client-server architecture in which the user interfaces,

    functional process logic (business rules), data storage and dataaccess are developed and maintained as independent modules, mostoften on separate platforms. The term three-tier or three-layer, aswell as the concept of multi-tier architectures, seems to have

    originated within Rational Software.

    The three-tier model is considered to be software architecture and asoftware design pattern.

    Apart from the usual advantages of modular software with well defined

    interfaces, the three-tier architecture is intended to allow any of thethree tiers to be upgraded or replaced independently as requirementsor technology change. For example, a change of operating systemfrom Microsoft Windows to UNIX would only affect the user interface

    code.

    Typically, the user interface runs on a desktop PC or workstation anduses a standard graphical user interface, functional process logic mayconsist of one or more separate modules running on a workstation orapplication server, and an RDBMS on a database server or mainframecontains the data storage logic. The middle tier may be multi-tiered

    itself (in which case the overall architecture is called an n-tierarchitecture).

    The 3-Tier architecture has the following 3-tiers:

    1. Presentation Tier2. Application Tier/Logic Tier/Business Logic Tier3. Data Tier

  • 8/4/2019 Middle Ware 101

    4/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    3-tier architecture

    First tier: Responsibility for presentation and user interaction resideswith the first-tier components. These client components enable theuser to interact with the second-tier processes in a secure and intuitivemanner. Application Server supports several client types. Clients donot access the third-tier services directly. For example, a clientcomponent provides a form on which a customer orders products. Theclient component submits this order to the second-tier processes,which check the product databases and perform tasks that are needed

    for billing and shipping.

    Second tier: The second-tier processes are commonly referred to asthe application logic layer. These processes manage the business logicof the application, and are permitted access to the third-tier services.The application logic layer is where most of the processing workoccurs. Multiple client components can access the second-tierprocesses simultaneously, so this application logic layer must manage

    its own transactions.

  • 8/4/2019 Middle Ware 101

    5/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    In the previous example, if several customers attempt to place anorder for the same item, of which only one remains, the application

    logic layer must determine who has the right to that item, update thedatabase to reflect the purchase, and inform the other customers thatthe item is no longer available. Without an application logic layer,client components access the product database directly. The databaseis required to manage its own connections, typically locking out arecord that is being accessed. A lock can occur when an item is placedinto a shopping cart, preventing other customers from considering itfor purchase. Separating the second and third tiers reduces the loadon the third-tier services, supports more effective connectionmanagement, and can improve overall network performance.

    Third tier: The third-tier services are protected from direct access bythe client components residing within a secure network. Interactionmust occur through the second-tier processes.

    Communication among tiers:

    All three tiers must communicate with each other. Open, standardprotocols and exposed APIs simplify this communication. You can writeclient components in any programming language, such as Java orC++. These clients run on any operating system, by speaking with the

    application logic layer. Databases in the third tier can be of any design,if the application layer can query and manipulate them. The key to thisarchitecture is the application logic layer.

    Components of Middleware

    Web server

    A computer that delivers (serves up) Web pages. Every Web serverhas an IP address and possibly a domain name. For example, if you

    enter the URL http://www.example.com/index.html in your browser,this sends a request to the server whose domain name is xample.com.The server then fetches the page named index.html and sends it toyour browser. Any computer can be turned into a Web server byinstalling server software and connecting the machine to the Internet.(Or)Although it might seem that a web server is a machine, it is really aprocess running on a machine that serves HTTP content to webbrowsers on client machines. This is important because you canactually put several web servers on a single machine as long as youdesignate specific ports through which traffic will travel.

  • 8/4/2019 Middle Ware 101

    6/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    Some of the well known Web servers:

    Apache Microsoft IIS IPlanet/ Sunone IBM Http server

    Application server

    Application server is a software engine that delivers applications toclient computers or devices. Moreover, an application server handlesmost, if not all, of the business logic and data access of the application(a.k.a. centralization). The main benefit of an application server is theease of application development, since applications need not beprogrammed; instead, they are assembled from building blocksprovided by the application server.

    Some of the well known application servers: IBM Web sphere Bea Web logic Sunone java system server Jboss

    Directory server (LDAP)

    A directory service (DS) is a software application or a set ofapplications that stores and organizes information about a computernetwork's users and network resources, and that allows networkadministrators to man age users' access to the resources. You candefine like this also- A directory service is a shared informationinfrastructure for locating, managing, administrating, and organizingcommon items and network resources, which can include volumes,

    folders, files, printers, users, groups, devices, telephone numbers and

    other objects. A directory service is an important component of NOS(Network Operating System). In the more complex cases a directoryservice is the central information repository for an organization

    Some of the well known Directory servers (LDAP): Sun Java System Directory Server IBM Tivoli Directory Server Windows NT Directory Services (NTDS) for Windows NT Active Directory for Windows 2000, Server 2003 OpenLDAP

  • 8/4/2019 Middle Ware 101

    7/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    Access Manager

    Access Manager is the single solution for Web access management,federation, and Web services security.(or)

    Access Manager is a versatile solution for authentication andauthorization problems.

    Defines and manages centralized authentication, access andaudit policy with access management software geared toward abroad range of business initiatives

    Establishes new audit and reporting service with authenticationsoftware that collects audit data from multiple enforcementpoints, other platforms and security applications

    Reduces help-desk calls and other security problems associatedwith multiple passwords with flexible SSO to Web-basedapplications that can span multiple sites or domains with a rangeof SSO options

    Manages and secures business environments from your existinghardware (mainframe, PCs, servers) and operating system

    platforms, including Windows, Linux, AIX, Solaris, and HP-UX.

    Provides a modular authorization architecture that separatessecurity code from application code.

    Some of the popular Access Manager products:

    IBM Tivoli Access manager for e-business Sunone Java system Access Manager Novell Access Manager Oracle Access Manager

    HTTP and HTTPS - What is the difference?

    Did you observed the golden lock at the right bottom of your IE pagewhen you access your internet banking page?

    It's all about keeping you secure

    HTTP stands for Hypertext Transport Protocol, which is just a fancyway of saying it's a protocol (a language, in a manner of speaking) for

  • 8/4/2019 Middle Ware 101

    8/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    information to be passed back and forth between web servers andclients.

    You really don't need to know what it all stands for; the importantthing is the letter S which makes the difference between HTTP andHTTPS. The S (big surprise) stands for "Secure". You probably didn'tneed me to tell you that, because you already knew it had somethingto do with security.

    If you visit a website or webpage, and look at the address in the webbrowser, it will likely begin with the following: http://. This means thatthe website is talking to your browser using the regular ' unsecured'language. In other words, it is possible for someone to "eavesdrop" on

    your computer's conversation with the website. If you fill out a form onthe website, someone might see the information you send to that site.This is why you never ever enter your sensitive information in an http

    website!

    But if the web address begins with https://, that basically means yourcomputer is talking to the website in a secure c ode that no one caneavesdrop on.

    What is SSL?

    SSL (Secure Sockets Layer) is the standard security technology forestablishing an encrypted link between a web server and a browser.This link ensures that all data passed between the web server andbrowsers remain private and integral. SSL is an industry standard andis used by millions of websites in the protection of their onlinetransactions with their customers.

    To be able to create an SSL connection a web server requires an SSL

    Certificate.

    What is Digital certificate?

    SSL Certificates give a website the ability to communicate securelywith its web customers. Without a certificate, any information sent to awebsite can be intercepted and viewed by anyone.

    Typically an SSL Certificate will contain your do main name, yourcompany name, your address, your city, your state and your country.It will also contain the expiration date of the Certificate and details of

  • 8/4/2019 Middle Ware 101

    9/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    the Certification Authority responsible for the issuance of theCertificate. When a browser connects to a secure site it will retrieve

    the site's SSL Certificate and check that it has not expired, it has beenissued by a Certification Authority the browser trusts, and that it isbeing used by the website for which it has been issued. If it fails onany one of these checks the browser will display a warning to the enduser letting them know that the site is not secured by SSL.

    SSL in action

    A browser requests a secure page (usually https ://) The web server sends its public key with its certificate. The browser checks that the certificate was issued by a trusted

    party (usually a trusted root CA), that the certificate is still validand that the certificate is related to the site contacted.

    The browser then uses the public key, to encrypt a randomsymmetric encryption key and sends it to the server with theencrypted URL required as well as other encrypted http data.

    The web server decrypts the symmetric encryption key using itsprivate key and uses the symmetric key to decrypt the URL andhttp data.

    The web server sends back the requested html document andhttp data encrypted with the symmetric key.

    The browser decrypts the http data and html document using thesymmetric key and displays the information.

    Messaging MiddlewareSoftware that provides an interface between applications, allowingthem to send data back and forth to each other asynchronously. Datasent by one program can be stored in a queue and then forwarded tothe receiving program when it becomes available to process it. Withoutusing a common message transport and queuing system such as this,

    each application must be responsible for ensuring that the data sent isreceived properly. Maintaining communications between differenttypes of applications as they are revised and eventually replaced withnewer architectures creates an enormous programming burden in thelarge enterprise.

  • 8/4/2019 Middle Ware 101

    10/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    Message-oriented middleware (MOM)

    It is an infrastructure focused on sending and receiving messages thatincreases the interoperability, portability, and flexibility of anapplication by allowing the application to be distributed overheterogeneous platforms. It reduces the complexity of developingapplications that span multiple operating systems and networkprotocols by insulating the application developer from the details of thevarious operating system and network interfaces. API's that extendacross diverse platforms and networks are typically provided by MOM.

    MOM is software that resides in both portions of client/serverarchitecture and typically supports asynchronous calls between the

    client and server applications. Message queues provide temporarystorage when the destination program is busy or not connected. MOMreduces the involvement of application developers with the complexityof the master-slave nature of the client/server mechanism.

    Advantages of MOM

    StorageMost MOM systems provide persistent storage to back up the

    message transfer medium. This means that the sender andreceiver do not need to connect to the network at the same time(asynchronous delivery).

    RoutingMOM delivers another important advantage through its ability toroute messages within the middleware layer itself.

    TransformationIn a message-based middleware system, the recipient's messageneed not replicate the sender's message exactly. A MOM systemwith built-in intelligence can transform messages en-route tomatch the requirements of the sender or of the recipient. Inconjunction with the routing and broadcast/multicast facilities,one application can send a message in its own native format,

    and two or more other applications may each receive a copy ofthe message in their own native format

  • 8/4/2019 Middle Ware 101

    11/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    Components of messaging middleware

    Message queuing software

    You can think of message queuing as being electronic mail forprograms. In a message queuing environment, each program from the

    set that makes up an application suite is designed to perform a well-defined, self-contained function in response to a specific request. Tocommunicate with another program, a program must put a messageon a predefined queue. The other program retrieves the message fromthe queue, and processes the requests and information contained inthe message. So message queuing is a style of program-to-programcommunication.

    Some of well known Queuing products

    IBM's WebSphere MQ (formerly MQ Series) Oracle Advanced Queuing (AQ) within an Oracle database Microsoft's MSMQ. JBoss Messaging JORAM Open Message Queue Active MQ

    Message Broker

    Message broker is an intermediary program that translates a messagefrom the formal messaging protocol of the sender to the formalmessaging protocol of the receiver in a telecommunication networkwhere programs communicate by exchanging formally-definedmessages.Message Broker is an architectural pattern for message validation,

    message transformation and message routing. It mediatescommunication amongst applications, minimizing the mutualawareness that applications should have of each other in order to beable to exchange messages, effectively implementing decoupling.

    Some of well known message brokers

    IBM Websphere message broker Oracle message broker FUSE message broker Microsoft BizTalk server

  • 8/4/2019 Middle Ware 101

    12/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    Words that you come across in middleware

    Load balancingLoad balancing is dividing the amount of work that a computer has todo between two or more processors or computers so that more workgets done in the same amount of time and, in general, all users getserved faster. Load balancing can be implemented with hardware,software, or a combination of both.(Or)Distributing processing and communications activity evenly across acomputer network so that no single device is overwhelmed. Loadbalancing is especially important for networks where it's difficult topredict the number of requests that will be issued to a server. BusyWeb sites typically employ two or more Web servers in a loadbalancing scheme. If one server starts to get swamped, requests areforwarded to another server with more capacity.

    The web connector plug-inThe Web Connector Plug -In in enables communication betweenApplication Server and a Web Server. Each plug-in enables the Webserver to receive requests from clients and pass them on to theApplication Server. Web browsers can then access applications hostedby the Application Server through the Web Server.

    ServletsServlets are Java technology's answer to CGI programming. Theyhandle requests and responses from browser clients and encapsulatedata access in a business logic layer component such as an EnterpriseJavaBean or a regular JavaBean. They are programs that build Webpages on the fly.

    JspJSP is a type of server-side scripting that allows you to generate andmaintain dynamic presentation pages. Because JSP pages are written

    as HTML files with embedded Java code, they are best suited for layouttasks. Servlets are best suited a s central dispatchers for incomingrequests.

    Enterprise java beansThe basic idea behind Enterprise JavaBeans[tm] is to provide aframework for components that may be 'plugged in' to a server,thereby extending that server's functionality. EJB[tm] is designed to

    make it easy for developers to create applications, freeing them fromlow-level system details of managing transactions, threads, load

  • 8/4/2019 Middle Ware 101

    13/13

    Middleware 101

    By Joseph Amrith Raj. Downloaded from http://sites.google.com/site/activexpert

    balancing, and so on. Application developers can concentrate onbusiness logic and leave the details of managing the data processing

    to the framework.

    JdbcThe JDBC API is the industry standard for database -independentconnnectivity between the Java programming language and a widerange of databases. The JDBC API provides a call-level API for SQL-based database access and provides a layer of abstraction between the

    application and the database itself.

    ConnectorJ2EE Connector architecture defines a standard architecture for

    connecting the J2EE platform to heterogeneous enterprise informationsystems (EISs). It provides a Java solution to the problem ofconnectivity between the many application servers and EISs already inexistence.

    Rich clientA rich client is an application that communicates directly with anapplication server. The life of a request from a rich client is processedaccording to the following steps:1. The rich client contacts the Application Server using the RMI -IIOP

    protocol. The request is directed at the CORBA Executive Server. Ittakes these requests and delegates them to an existing Java Serverprocess.

    2. CORBA Executive Server receives the request and forwards it to theappropriate application component in the Java process.3. The application component processes the request (from within theJava process) and returns the results to the CORBA Executive Serverprocess.4. The CORBA Executive Server process sends the results back to therich client.

    Legacy systemsEnterprises with successful e -businesses need to integrate their existing EISswith new web-based applications. They need to extend the reach of theirenterprise information systems (EISs) to support business -to-business (B2B)transactions. Examples of EISs include enterprise resource planning (ERP),mainframe transaction processing, and legacy applications not written in the Javaprogramming language.