bWise – EAI Framework by huanghengdong

VIEWS: 5 PAGES: 29

									bWise – EAI Framework




         Anurodh Srivastava
         Shalin Shekhar Mangar
         JSS Academy of Technical Education,
         Noida, India.
Enterprise Application Integration

●   Enterprise application
    –   Software specialized in a particular area
         ● Inventory
         ● Financials

         ● Supply Chain Management (SCM)

         ● Customer Relationship Management (CRM)

         ● Ecommerce

         ● Sales Force Automation


    –   Vendors
         ● SAP
         ● Oracle

         ● Peoplesoft
Enterprise Application Integration

●   Business process/workflow
    –   Smooth flow of data
         ● Inventory
         ● Financials

         ● Supply Chain Management (SCM)

         ● Customer Relationship Management (CRM)

         ● Ecommerce

         ● Sales Force Automation


    –   Automation Vendors
         ● Microsoft
         ● IBM

         ● Tibco
Enterprise Application Integration

●   Challenges in automation
    –   Communication
         ●   Different input/output formats
    –   Security
         ●   Multiple authentication/authorization schemes
    –   Management
         ●   Multiple management/configuration
EAI Frameworks

●   Components
    –   Communication
         ● Enterprise Service Bus (ESB)
         ● Message Oriented Middleware (MOM)


    –   Security
         ●   Support for multiple security schemes
    –   Management
         ●   Dependent on per application basis
Why bWise ?

●   Prohibitive costs
●   Vendor dependence
●   Lack of interoperability
●   Platform dependence
●   Need for consultants
How bWise helps ?

●   Prohibitive costs
    –   Open Source & Free Software
●   Vendor dependence
    –   Community Ownership
●   Lack of interoperability
    –   Open Standards (see www.open-eai.org &
        www.oasis-open.org)
●   Platform dependence
    –   Supports all platforms
●   Need for consultants
    –   Powerfull development tools
Design Problems

●   Communication
●   Security
●   Platform Independence
●   Interoperability
●   Workflow description
●   High Throughput
●   Distributed Transactions
●   Management
●   Backup/Restore
●   Extensibility
Communication

●   Synchronous vs. Asynchronous
●   Polled
●   Platform independent
    –   Document formats
    –   Web Services
●   Transformations
●   Correlation
Security

●   Must support multiple schemes
●   Authentication
●   Authorization
●   Encrypted communication
Platform Independence

●   Multiple Operating Systems
    –   Linux
    –   Unix
    –   Windows
●   Multiple programming languages
    –   COBOL
    –   C/C++
    –   Java
    –   .NET
Interoperability

●   Applications
●   Competing tools
●   Formats
●   Languages
Workflow Description Format

●   Choices
    –   An entirely new format
    –   XLANG (used by Microsoft)
    –   WSFL (used by IBM, Tibco)
    –   BPEL4WS
         ● Business Process Execution Language for Web Services
         ● Emerging standard

         ● Open (a w3c standard)

         ● Endorsed by all vendors
High Throughput

●   High volume of data
●   I/O maybe more expensive than processing
●   Multiple processes
●   Hundreds of process instances
Distributed Transactions

●   Multiple business applications
    –   Each containing multiple datastores
●   A distributed transaction scheme
    –   Coordinate a transaction between applications
    –   Abstract commit/rollback support if available
    –   Provide notification model
    –   Error logging
Management

●   Configuration
    –   Logging
    –   Notification
    –   Messaging
    –   Data Storage/Retrieval
●   Monitoring
    –   Per business process
         ● Present status
         ● History


    –   Statistics
         ● Throughput
         ● Transactions
Backup/Restore

●   Backup Scheme
    –   Business process data dump
    –   Transaction logs
●   Restore Scheme
    –   Crash recovery
Extensibility

●   Ability to support future enhancements
    –   Message transport mechanisms
    –   Transformation mechanisms
    –   Security schemes
Design Decisions

●   Java
    –   Advantages
         ● Platform independent
         ● Tried and tested for server applications


    –   Downsides
         ●   I/O Performance
●   XML
    –   Advantages
         ● Platform neutral data format
         ● Extensive support for interoperability


    –   Downsides
         ●   Extra Overhead in processing
Design Decisions

●   Eclipse IDE
    –   Advantages
         ● Mature platform
         ● Lesser learning curve for new developers

         ● Open Source


    –   Downsides
         ●   Increased development time
●   XSD (XML Schema Document)
    –   Advantages
         ● Platform neutral data description format (metadata)
         ● Easier to work with than DTDs
Design Decisions

●   Message Queues
    –   Advantages
         ● Asynchronous processing
         ● Guaranteed message delivery


●   Correlation
    –   Concept of envelopes
         ● Metadata tags
         ● Aid in encryption/decryption


●   Security
    –   Enterprise Single Sign-on
         ●   One username/password for multiple applications
Design Decisions

●   Code Generation
    –   BPEL4WS vs. Java Code
    –   Java Code provides better performance
    –   Added complexity in code generation from business
        process models
●   Web Services
    –   Support for all platforms
    –   Data format independent (uses XML)
    –   Asynchronous mode
    –   Apache Axis
Components of bWise

●   Eclipse Development Tools (EDT)
    –   Document Designer
    –   Transformation Designer
    –   Messaging Manager
    –   Business Process Designer
●   Process Execution Engine
    –   Message Transport Agents (MTA)
    –   Pipeline Processors
    –   Verification & Correlation Manager
    –   Authentication Manager
    –   Process Co-ordinator
●   Administrator Tools
Eclipse Development Tools (EDT)

●   Document Designer
    –   Analyzes documents
    –   Generates XSD
    –   Manipulate XSD
●   Transformation Designer
    –   Analyzes XSDs
    –   Generates Mapping Code (XSLT or Java)
●   Messaging Manager
    –   Creation of Pipelines
●   Business Process Designer
    –   Visually draw process diagrams
    –   Generate Code
Process Execution Engine

●   Message Transport Agents (MTA)
    –   I/O Mechanisms
         ● File
         ● Web Services


●   Pipeline Processors
    –   Transformers (document, encryption/decryption)
●   Verification & Correlation Manager
●   Authentication Manager
    –   Enterprise Single Sign-on services
    –   Cryptographic Services
●   Process Co-ordinator
    –   Workflow execution engine
Administrator Tools

●   View & manage server database
●   Install/Uninstall MTAs
●   View & manage transaction logs
●   Backup/Restore schemes
●   Monitor alert notifications
●   Performance statistics
Key Problem Areas
●   A formal model for static analysis of a business
    process.
●   Code generation module for business process
    diagrams.
●   Optimization of memory usage for business
    processes containing long running transactions.
●   An efficient scheduling algorithm for monitoring
    business process executions.
●   A publish-subscribe model (akin to event dispatch
    model in java) for outcome notifications.
Future Directions

●   Not just a final year project
    –   Aims to be a stable open source software
    –   Hopes to make a dent in EAI tools market.
●   Future development directions
    –   Support for more MTAs
    –   Support for Legacy code (Screen Scraping)
    –   Load Balancing
    –   Segregation of components into independent
        execution units
Thank You



            Anurodh Srivastava
          Shalin Shekhar Mangar
    JSS Academy of Technical Education,
               Noida, India.

								
To top