Administrative Information Services,

Slides:



Advertisements
Similar presentations
Web Service Composition Prepared by Robert Ma February 5, 2007.
Advertisements

Java Script Session1 INTRODUCTION.
DT228/3 Web Development WWW and Client server model.
Single view of customer Support deposit and loan accounts Fully integrated General Ledger module that can be customised according to customer specification.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Collaborative Picture Gallery Project Presentation Amos Hersch Aviad Barzilai Supervisor Maxim Gurevitch Lab Chief Eng. Ilana David.
BPEL (Business Process Execution Language)
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
1 Classification: Genpact Internal.  Tool From Oracle  Works with Oracle Database  PL/SQL Based  Widely Used with Oracle Applications  Can be Used.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
CERN – European Laboratory for Particle Physics Administrative Information Services Implementing Oracle Workflow Derek Mathieson CERN - Switzerland.
SOA, BPM, BPEL, jBPM.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Chapter 16 The World Wide Web. 2 The Web An infrastructure of information combined and the network software used to access it Web page A document that.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
BPEL4WS (Business Process Execution Language for Web Services) Nirmal Mukhi Component Systems Department IBM Research.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Singleton Academy, Pune. Course syllabus Singleton Academy Pune – Course Syllabus1.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
SE 548 Process Modelling WEB SERVICE ORCHESTRATION AND COMPOSITION ÖZLEM BİLGİÇ.
V7 Foundation Series Vignette Education Services.
Business Applications– Using Java _____ Presented by Priya Saha.
Business Process Execution Language (BPEL) Pınar Tekin.
The purpose of a CPU is to process data Custom written software is created for a user to meet exact purpose Off the shelf software is developed by a software.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
J2EE Platform Overview (Application Architecture)
Progress Apama Fundamentals
Architecture Review 10/11/2004
WebSphere Diego Leone.
WWW and HTTP King Fahd University of Petroleum & Minerals
Netscape Application Server
Server-Side Java Programming
Web Software Model CS 4640 Programming Languages for Web Applications
Introduction to JSP Liu Haibin 12/09/2018.
Introduction to J2EE Architecture
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Evergreen Data Systems
Design and Maintenance of Web Applications in J2EE
Service-centric Software Engineering
Web-Services-based Systems Architecture, Design and Implementation
Distributed System Using Java 2 Enterprise Edition (J2EE)
Understanding and Designing with EJB
Services-based Systems Architecture, Design and Implementation
Computer Based Adaptive Testing
Chapter 6 – Architectural Design
JavaServer Faces: The Fundamentals
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Component-based Applications
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Understanding and Designing with EJB
WPS - your story so far Seems incredible complicated, already
Enterprise Java Beans.
Salesforce.com Salesforce.com is the world leader in on-demand customer relationship management (CRM) services Manages sales, marketing, customer service,
Intro to J2EE Concepts.
SDMX IT Tools SDMX Registry
Presentation transcript:

Administrative Information Services, ИСПОЛЬЗОВАНИЕ СРЕДЫ WORLD WIDE WEB И ТЕХНОЛОГИЙ J2EE ПРИ АВТОМАТИЗАЦИИ КОРПОРАТИВНОГО ДОКУМЕНТООБОРОТА Title: JavaTM Servlet API, Oracle 8i, Enterprise JavaBeansTM architecture plus Workflow - A real-life cocktail for success Abstract: At the dawn of the third millennium CERN (the world's largest physics research center and inventor of the Web-Wide-Web) is embarking on its largest construction ever. Physicists worldwide require web based access to generate, route and authorize a multitude of electronic documents (such as purchase orders, transport requests etc ) with extremely tight deadlines. One year ago we embarked in the direction of Enterprise JavaBeansTM (EJB) architecture and a JavaTM Servlet API. Now we are in full production with 1000 different users per day, a multi-lingual system processing 300,000 electronic authorizations per year, electronic Java technology-based "documents" routed by Oracle Workflow, and communication between the documents and the workflow engine running in the Java programming language in the heart of an Oracle 8i database. We will walk you thru this success story from the early design decisions (applets vs servlets), the promises of the EJB architecture, worries about interactivity, and the risks and pay-offs of going production with such new technologies. Practical advice will be given from the chief developer of this project from the implications of each design decision, to the final load balancing of 1000s of users across 20 Java virtual machines. Р.Н. Титов, Д. Матиесон Administrative Information Services, ЦЕРН, Женева, Швейцария

Проблемы бумажного документооборота Дублирование данных и связанные с этим ошибки Нужно знать, кому отправлять документы на подпись Документы посылаются по почте (медленно) Невозможно (без телефонных звонков) узнать, у кого сейчас документ Задержки (забыли подписать, человек в отпуске) Административные правила могут быть нарушены Проблемы хранения/поиска/архивации

Paper Purchase Order

Web Purchase Request

История создания EDH 1990: версия 1 клиент-сервер, «толстый» клиент (протокол SQL*Net) 1996: версия 2.1 клиент-сервер, тонкий клиент (TCP/IP, сервер EDH) 1999: WebEDH 3-х уровневая технология на базе Java-сервлетов 2005+: WebEDH (новые технологии) XML, BPEL, AJAX, JSF…

Network Intra / Internet Architecture ‘Classical’ 3-tier ‘Thin’ Web Client 9i Application Server Oracle Database Network Intra / Internet Underneath, EDH follows the classical 3-tier architecture. Written completely in Java, and following standard J2EE design patterns with a servlet and JSP front end. And as you can see all of this is running on what Sun terms ‘Entry-Level’ Unix servers – with no problems with performance even when accessed by 2,000 users per day. Workflow

Компоненты EDH Common Business Objects - Java-представление бизнес-понятий («сотрудник», «офис», «код затрат» и т.д. Common Input Objects - «конструктор» для создания пользовательского интерфейса. Обеспечивает ввод, визуализацию и контроль данных, и обработку/вывод ошибок. Объекты ввода могут быть простыми (TextInput) или сложными (PersonInput). Объекты ввода существуют для большинства CBO Document Infrastructure - общая для всех документов функциональность (управление объектами ввода, контроль целостности документа, функции сохранения, печати и отсылки… Handles about 20 workflows Applies organisation level standards Allows for local customisations

Common Business Objects PersonHome 3-tier architecture EJB-like model Person findByID PersonEnumeration findBySurname PersonEnumeration findByString … PersonService Java Servlet PersonEnumeration findBySurname … Object – Relation Mapping Performed by this class Database

Объекты ввода: пример

Purchase Order ServletExecutor Объекты ввода: пример String m_GeneralDescription; Person m_TechnicalContact; Supplier m_Supplier; Country m_DistribCountry; Currency m_Currency; TextInput m_GeneralDescription; PersonInput m_TechnicalContact; SupplierInput m_Supplier; CountryInput m_DistribCountry; CurrencyInput m_Currency; Purchase Order CBO Purchase Order ServletExecutor

Purchase Order ServletExecutor Объекты ввода: пример String m_GeneralDescription; Person m_TechnicalContact; Supplier m_Supplier; Country m_DistribCountry; Currency m_Currency; TextInput m_GeneralDescription; PersonInput m_TechnicalContact; SupplierInput m_Supplier; CountryInput m_DistribCountry; CurrencyInput m_Currency; Purchase Order CBO Purchase Order ServletExecutor

Purchase Order ServletExecutor Объекты ввода: пример String m_GeneralDescription; Person m_TechnicalContact; Supplier m_Supplier; Country m_DistribCountry; Currency m_Currency; TextInput m_GeneralDescription; PersonInput m_TechnicalContact; SupplierInput m_Supplier; CountryInput m_DistribCountry; CurrencyInput m_Currency; Purchase Order CBO Purchase Order ServletExecutor

Purchase Order ServletExecutor Объекты ввода: пример String m_GeneralDescription; Person m_TechnicalContact; Supplier m_Supplier; Country m_DistribCountry; Currency m_Currency; TextInput m_GeneralDescription; PersonInput m_TechnicalContact; SupplierInput m_Supplier; CountryInput m_DistribCountry; CurrencyInput m_Currency; Purchase Order CBO Purchase Order ServletExecutor

Purchase Order ServletExecutor Example String m_GeneralDescription; Person m_TechnicalContact; Supplier m_Supplier; Country m_DistribCountry; Currency m_Currency; TextInput m_GeneralDescription; PersonInput m_TechnicalContact; SupplierInput m_Supplier; CountryInput m_DistribCountry; CurrencyInput m_Currency; Purchase Order CBO Purchase Order ServletExecutor

Server Architecture Diagram View Controller Model Business Objects Document Executor Oracle Database Document Servlet Business Objects Document Executor Stateless Session Persistent

Workflow The workflow builder enables you to enter workflow definitions graphically with a simple ‘drag-and-drop interface’ One the left there is a Navigator Window which contains all of the definitions currently in the workflow database. Selecting a Process definition reveals the workflow diagram. Workflow processes can contain sub-workflows, for example here this process contains the ‘Standard Financial Routing’ The builder tool also has the ability to validate a workflow definition, checking that it has one start point and that all possible paths are correctly terminated.

Новые технологии: XML Настраиваемый интерфейс Динамическое изменение интерфейса Поиск данных (через Oracle Text) Генерация PDF (через XSL-FO) Обмен данными с другими системами Динамическая генерация кода Handles about 20 workflows Applies organisation level standards Allows for local customisations

Skinnable User Interface <aissearchscreen> <head><title>Person Search</title></head> <body> <input type="hidden" name="isAdvanced" value="false"/> <input show="always" type="text" label="Keyword" value="titov"/> <input type="checkbox" label="Fuzzy search" value="No"/> <result> <header> <tablecell>Full Name</tablecell> … </header> <row> <tablecell>Maksym TITOV</tablecell> <tablecell>71169</tablecell> <tablecell>40-3-C08</tablecell> </row> <tablecell>Oleg TITOV</tablecell> <tablecell>EXT</tablecell> <rowcount>4</rowcount> </result> </body> </aissearchscreen>

Dynamic User Interface Customization CERN Stores Catalog Data loaded through XML Data stored in XML Pure XML-XSLT 150000 items +10000 users Used every second ~15-20K XML for each page Custom formatting (through XSLT redefinition)

New Technologies: client side AJAX (Asynchronous JavaScript and XML) In collaboration with MEPhI

Workflow Future: BPEL Business Process Execution Language XML language for defining behaviour of a process that provides web-service(s) that uses web-services everything it sees is a web-service no other external interactions Definition: OASIS

BPEL Process Example

BPEL Design IDE

Compiled BPEL Scenario BPEL Deployment Process WSDL BPEL Scenario <process> <partners> <variables> <sequence> <flow> </sequence> </process> Application Server BPEL Runtime Compiled BPEL Scenario Compile Package Deploy Partner WSDL 1 . . . Partner WSDL n

Core Concepts Long-running interactions (>= 2 parties) Peer-to-peer synchronous/asynchronous message exchanges Request-response One way (e.g., notification, reply to ‘callback’ interface) Maintaining state (variables and data access) Data-dependent behavior (conditional and timeout constructs) Exception handling and recovery Compensation (reversal of operations) Cross-partner coordination (message correlation)

EDH Expansion Documents per Month Active Users 22000 20000 18000 16000 14000 12000 10000 Active Users 8000 Here is the obligatory sales graph showing the growth of the application over the years. We now have over 10,000 registered users with 2,000 users per day. Over 150,000 documents per year. 1 electronic signature every 8 seconds. As you can see EDH really is a critical application in the day-to-day running of CERN. 6000 4000 2000 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005

Productivity Gain 70% With EDH Paper (Estimated) 60% 50% 40% 30% 20% 10% 0% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 >14 Days

Преимущества EDH На бумаге… Через Web… Дублирование данных и связанные с этим ошибки Пользователи должны знать, куда посылать документ Документы посылаются по почте (задержка 24 часа и более) Невозможно узнать, где находится документ Задержки в случае отсутствия ответственных лиц Некоторые правила ЦЕРН могут не соблюдаться Проблемы архивирования/хранения Единая система ввода данных EDH знает, куда посылать документ Документы посылаются по e-mail (задержки минимальны) EDH всегда может показать, где находится документ, кто в данный момент его подписывает и почему EDH перенаправляет документы автоматически в случае отсутствия сотрудников Гарантировано исполнение всех правил ЦЕРН Старые документы могут использоваться как шаблон для создания новых документов Все ранее созданные документы и история их подписания доступны для консультации

EDH at CERN Около 10000 активных пользователей со всего мира Более 2’000’000 документов Автоматизировано 40 бизнес-процессов Handles about 20 workflows Applies organisation level standards Allows for local customisations

http://ais.cern.ch http://ais.cern.ch/apps/edh For More Information … http://ais.cern.ch http://ais.cern.ch/apps/edh Handles about 20 workflows Applies organisation level standards Allows for local customisations