Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 247 Übersicht BEA Produkte XML - Überblick...
-
Upload
johann-boehm -
Category
Documents
-
view
216 -
download
1
Transcript of Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 247 Übersicht BEA Produkte XML - Überblick...
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 1
Übersicht BEA ProdukteÜbersicht BEA Produkte
XML - Überblick und RolleXML - Überblick und Rolle
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 2
Übersicht BEA ProdukteÜbersicht BEA Produkte
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 3
Referenzarchitektur mit J2EE KomponentenReferenzarchitektur mit J2EE Komponenten
Con
tent
Man
agem
ent
Pro
zess
-Man
agem
ent
HTTPLAN
JTA
JMS
- J
avaM
ail
Portal Server
JSPServlet
Enterprise JavaBeansJAXP
JDBC API
DatenbankenJC
AW
ebS
ervi
ces
JND
I
VerzeichnisServices
GeschäftsPartner
ERP Systeme
Alt-Anwend.
Datenbanken
JAA
S
Blaue Schrift in gestreiften Boxenkennzeichnen Komponenten der J2EE Definition
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 4
BEA StatistikBEA Statistik
• 1995 gegründet– Führender Hersteller von e-Commerce-Infrastrukturlösungen
• Heute– Umsatz
• Letztes Geschäftsjahr: $ 820 Mio• Letztes Quartal: $ 268 Mio• kürzeste Zeitspanne in der US Börsengeschichte für das Erreichen der 1 Mrd $
Umsatzmarke
– Ca. 3700 Mitarbeiter– 11.000 Kunden – Partnerschaften mit führenden Unternehmen
• z.B. auch Softlab
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 5
BEA ProdukteBEA Produkte
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 6
BEA ProdukteBEA Produkte
• WebLogic Server - die Plattform– J2EE Server– Fundament der BEA Produkt-Suite
• WebLogic Integration - die Integrationsplattform für– Anwendungsintegration– Business-Prozess-Management – B2B Integration
• WebLogic Portal– Basis für Portal Lösungen
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 7
WebLogic ServerWebLogic Server
• Application Server mit integriertem Web Server• Implementiert
– Java Standards• J2EE• Internet Standards• XML-Dienste, WebServices
• Integriert– Unternehmensdienste, wie LDAP
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 8
EJB Application Server MarktEJB Application Server Markt
BEA56%
IBM33%
Other7%
Oracle iAS1%
iPlanet3%
Source: Giga Group, December 2000. The EJB Applications Server Market
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 9
WebLogic IntegrationWebLogic Integration
ApplicationServer
Application Integration
Business ProcessManagement
B2BIntegration
• Standards-based infrastructure (JCA)• Universal connectivity• Adapter Development Kit (ADK)• Design tools for creating and publishing application
services• New
• Connect enterprises quickly and easily• Create and execute collaborative trading partner
agreements (CPA)• Provide security• Deploy Business Web Services• Formerly BEA WebLogic Collaborate
• Integrate and automate complex business processes across value chain
• Single platform for design, execution, and monitoring process
• Assemble composite applications• Data integration• Formerly BEA WebLogic Process
Integrator
• J2EE• Web Services• Clustering• Caching• Security• BEA WebLogic Server
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 10
WLI Business Process ManagementWLI Business Process Management
• Process Definition– Modellierung von Geschäftsprozessen– Graphischer Entwurf
• Process Execution– Ausführung von Geschäftsprozessen– Eingebunden in J2EE Architektur
• Process Monitoring– Monitoring von Geschäftsprozessen– Überwachung des Ablaufs
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 11
ProcessEngine
EJBs & Javaclasses
RMI
TemplateStoreTemplate Definition
Client API
InstanceStoreProcess Flow Monitoring
WorklistClient
API
notification
E-MailStandard
E-MailClient
Plug InFramework
JMSApplicationXML
Plug-In
AI Plug In Application Integration
B2B Plug In B2B Integration
Custom Plug In Custom Environment
WLI Business Process ManagementWLI Business Process Management
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 12
BEA WebLogic PortalBEA WebLogic Portal
BEA WebLogic Portal
Custom Applications Third Party Applications
Personalization Commerce Campaign ManagerBEA WebLogic
FIREWALL
Partners SuppliersCustomers Employees
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 13
PortletsPortlets
Calendar
ContentManagement
To-do List
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 14
BEA WebLogic Portal: PortletsBEA WebLogic Portal: Portlets
• Portlets– BEA Portlets
• My/Group To-Do List, Search the Web, ...– Eigenentwicklungen– 3rd Party Anbieter
• Charts, Web-email, ...– Implementiert als Java Server Pages
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 15
BEA Produkte im ÜberblickBEA Produkte im Überblick
BEA WebLogic Integration Application Integration Business Process Management B2B Integration
Transaction Persistence State Management
High Reliability/Availability Scalability Security
BEA WebLogic Server
BusinessWeb
Services
SimpleWeb
Services
EnterpriseApplications
ERP CRM
SCM Custom
HR Legacy
BEA WebLogic Portal
Custom Applications Third Party Applications
Personalization Commerce Campaign ManagerBEA WebLogic
FIREWALL
Partners SuppliersCustomers Employees
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 16
Referenzarchitektur; Abdeckung durch BEA Referenzarchitektur; Abdeckung durch BEA ProdukteProdukte
Con
tent
Man
agem
ent
Pro
zess
-Man
agem
ent
HTTPLAN
JTA
JMS
- J
avaM
ail
Portal Server
JSPServlet
Enterprise JavaBeansJAXP
JDBC API
DatenbankenJC
AW
ebS
ervi
ces
JND
I
VerzeichnisServices
GeschäftsPartner
ERP Systeme
Alt-Anwend.
Datenbanken
JAA
S
WL Server WL Portal
WL IntegrationPartner
Produkte
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 17
XML - Überblick und Rolle XML - Überblick und Rolle
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 18
Geschichte von XMLGeschichte von XML
• 1969: GML (General Markup Language): von IBM entwickelt• 1986: SGML (Standard GML): ISO• 1989: HTML (Hypertext Markup Language): CERN
– Als Technologie des WWW– Von SGML abgeleitet– Eine Instanz von SGML
• 1998: XML (Extensible Markup Language): W3C• In der Folge / im Umfeld von XML
– Viele ergänzende Standards: XSL, Xlink, Xpointer, XML Schema, ...– XML Sprachen: XHTML, XMI, MathML, SOAP, ...– XML Verarbeitung: Parser, SAX, DOM– XML Produkte: eXelon, Tamino (SAG), ...
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 19
SGML, XML, HTMLSGML, XML, HTML
SGML XMLVereinfachungen
SpezielleSprache HTML XHTML
DTD
XMI
DTD
...
DTD
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 20
Historische EntwicklungHistorische Entwicklung
1970
1986
1992
1998
SGML
GML
2000
Internet
World Wide WebHTML
XML
XSL XHTML MathML
Sprachfamilie Sprache
IBM:Charles GoldfarbEdward MosherRaymond Lorie
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 21
W3C Statement (1999, Ausschnitt)W3C Statement (1999, Ausschnitt)
„XML will
Enable internationalized media-independent electronic publishing
Allow industries to define platform-independent protocols for the exchange of data, especially the data of electronic commerce
Deliver information to user agents in a form that allows automatic processing after receipt
Make it easy for people to process data using inexpensive software
Allow people to display information the way they want it
Provide metadata -- data about information -- that will help people find information and help information producers and consumers find each other“
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 22
XML Dokument „Buch“– dargestellt als BaumXML Dokument „Buch“– dargestellt als Baum
BuchTitel: "Der Herr der Ringe“
AutorTolkien
BandName: "Band I“
Titel: "Die Gefährten“
Einführung
KapitelTitel: "xxxx"
. . . Kapitel
Titel: "xxxx"
Abschnitt
. . . Abschnitt
. . .
Element
Inhalt
Attribut
Unterelemente von Kapitel
BandName: "Band II“
Titel: "Die zwei Türme“
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 23
XML Dokument „Buch“XML Dokument „Buch“
<?xml version="1.0" encoding="ISO-8859-1"?><Buch Titel="Der Herr der Ringe">
<Autor> Tolkien </Autor><Band Name="Band I" Titel="Die Gefährten">
<Einführung> xxxxxxxxx </Einführung><Kapitel Titel="xxxx">
<Abschnitt> xxxxxxxxx </Abschnitt>...<Abschnitt> xxxxxxxxx </Abschnitt>
</Kapitel>...<Kapitel Titel="xxxx">
<Abschnitt> xxxxxxxxx </Abschnitt>...<Abschnitt> xxxxxxxxx </Abschnitt>
</Kapitel></Band><Band Name="Band II" Titel="Die zwei Türme">...</Band><Band Name="Band III" Titel="Die Rückkehr des Königs">...</Band>
</Buch>
Verarbeitungs- Anweisungen
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 24
DTD – Document Type DefinitionDTD – Document Type Definition
<?xml version="1.0" encoding="ISO-8859-1" ?><!-- Jetzt kommt die DTD --><!DOCTYPE Buch [<!ELEMENT Buch (Autor Band*)><!ELEMENT Autor (#PCDATA)><!ELEMENT Band (Einführung Kapitel*)><!ELEMENT Einführung (#PCDATA)><!ELEMENT Kapitel (Abschnitt*)><!ELEMENT Abschnitt (#PCDATA)><!ATTLIST Buch Titel CDATA #REQUIRED><!ATTLIST Band Name CDATA #REQUIRED
Titel CDATA #REQUIRED><!ATTLIST Kapitel Titel CDATA #REQUIRED>]><!-- Ende der DTD --><Buch Titel="Der Herr der Ringe">
<Autor>Tolkien</Autor><Band Name="Band I" Titel="Die Gefährten">
...</Band>...
</Buch>
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 25
Externe und gemischte DTDExterne und gemischte DTD
<?xml version="1.0" encoding="ISO-8859-1" ?><!-- Externe DTD --><!DOCTYPE Buch SYSTEM "buch.dtd"><Buch Titel="Der Herr der Ringe">
<Autor>Tolkien</Autor><Band Name="Band I" Titel="Die Gefährten">
...</Band>...
</Buch>
<!DOCTYPE MyDTD SYSTEM ".../dtd/MyBook.dtd" [ <!ELEMENT ... ><!ATTLIST ... ><!ENTITY ... ><!NOTATION ... >]>
Name des Wurzelelements
Interne DTD
Externe DTD
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 26
Wohlgeformt und GültigWohlgeformt und Gültig
Ein Dokument ist
• Wohlgeformt– Wenn es den Syntaxregeln von XML folgt
• Gültig– Wenn es eine DTD enthält (intern oder extern) und den Regeln der DTD
gehorcht
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 27
XML SchemaXML Schema
• DTD haben Nachteile– Separate Syntax
• Muss separat gelernt werden• Wichtiger: Separate Tools (Parser, Generatoren)
– Ausdrucksmittel fehlen• Z.B. Name spaces
• Idee: XML zur Deklaration der Dokumenttypen benutzen:XML Schema
• Struktur eines XML Dokumentes wird durch ein anderes XML Dokument beschrieben
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 28
XML Schema - BeispielXML Schema - Beispiel
<?xml version = "1.0" encoding = "UTF-8"?>
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema" > <xsd:element name = "vehicles"> <xsd:complexType> <xsd:sequence> <xsd:element name = "nickname" type = "xsd:string" maxOccurs = "unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element></xsd:schema>
Quelle: http://lucas.ucs.ed.ac.uk/xml-schema/
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 29
XML – Dokument; Daten aus DatenbankXML – Dokument; Daten aus Datenbank
<?xml version="1.0"?><stammbaum> <person name=“Anna“ id="0815"> </person> <person name="Hugo" id="333"> <vater idref="4711"> <mutter idref="0815"> </person> <person name="Hans" id="4711"> </person></stammbaum>
nameHans
person
nameHugo
stammbaumElement
id0815
person person
id333
id4711
vater mutter
Attr
idref0815
idref4711
Attr
Element
nameAnna
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 30
Nutzungsszenarien von XMLNutzungsszenarien von XML
• Publizierung im Web– XHTML– Nachfolge HTML
• Dokumentenmanagement und -austausch– Basis für vielfältige Standards– Vereinheitlichung von Werkzeugen
• Datenaustausch, Messaging & Queuing– Basis für Middleware Produkte– Basis für WebServices
Instanz 1 Instanz 2XML Dokumente
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 31
XML SprachenXML Sprachen
• XHTML (HTML based on XML)• WML (Web language for WAP mobiles)• MathML (Math formula definition)• SMIL (Synchronized Multimedia Integration Language)• SVG (Scalable Vector Graphics)• XSL (XML Style Language)• XSLT (XML based Transformation language)• XQL (Database Query Language)• XMI (XML based Metadata Interchange format)• SOAP (Simple Object Access Protocol)• WSDL (Web Service Definition Language)• UDDI (Universal Description, Discovery and Integration)• ebXML (electronic business XML)
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 32
Präsentation von XML DokumentenPräsentation von XML Dokumenten
• Ein reines XML Dokument ist nicht direkt zur Präsentation geeignet• Formatierungsinformationen sind notwendig• Style Sheet Sprache ist gefordert• Style Sheet:
Regeln, die festlegen, wie spezielle Elemente eines Dokumentes dargestellt werden sollen– Cascading Style Sheets (CSS) benutzt für HTML– eXtensible Stylesheet Language (XSL)
• XML basiert• Vielfältige Ausdrucksmittel• einfach
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 33
eXeXtensible Stylesheet Languagetensible Stylesheet Language
• Drei Standards spielen eine Rolle: XSLT, XPATH, Bibliothek von Format-Objekten (XSL-FO)
• XML Document: Text und inhaltsorientierte Struktur
• XSL Document: Text und Format Informationen
• Transformationssprache (XSLT/XPATH) für die Transformation von XML Dokumenten zu XSL Dokumenten oder andere Formate
• XSL Werkzeuge werden benutzt, um aus Dokumenten lesbare Ausgaben zu erzeugen (Bildschirm, Drucker, ...)
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 34
eXeXtensible Stylesheet Languagetensible Stylesheet Language
XSLT Processor
XML Source XMLContent oriented
XSLPresentation oriented
(X)HTML
XSL Processor
Web Browser
XML Documents
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 35
XSLT Transformation to (X)HTMLXSLT Transformation to (X)HTML
<?xml version="1.0"?><text> <emphasize>Hello World</emphasize></text> XML Source
XHTML Document
<?xml version="1.0"?><html> <body> <u>Hello World</u> </body></html>
<?xml version="1.0"?><template match ="emphasize"> <u> <apply-templates/> </u></template>
XSLT ProcessorXSLT Script
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 36
XSLT Transformation to XSLXSLT Transformation to XSL
<?xml version="1.0"?><text> <emphasize>Hello World</emphasize></text> XML Source
XSL Document
<?xml version="1.0"?><fo:block> <fo:wrapper font-weigh="bold"> Hello World </fo:wrapper></fo:block>
<?xml version="1.0"?><template match ="emphasize"> <fo:wrapper font-weight="bold"> <apply-templates/> </fo:wrapper></template>
XSLT ProcessorXSLT Script
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 37
XML ErgänzungenXML Ergänzungen
• XLink: Referenzen zwischen XML Dokumenten• XPath: Referiert ein Element in einem Dokument durch Pfad• XPointer: Referiert ein Element durch flexiblere Auswahl; basiert auf
XPath.• DOM (Document Object Model): W3C Standard
– API zum Bearbeiten von XML Dokumenten– Dabei: XML Dokument als Graph betrachtet mit primärer Baumstruktur– Definiert in CORBA IDL; somit sprachunabhängig– Java ist wichtigste Sprache
• SAX (Simple API for XML)– Kein W3C Standard– Alternative zu DOM– Event gesteuert, meist in Zusammenhang mit Parsern
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 38
XPointerXPointer
XPointer, which is based on the XML Path Language (XPath), supports addressing into the internal structures of XML documents. It allows for traversals of a document tree and choice of its internal parts based on various properties, such as element types, attribute values, character content, and relative position.
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 39
XLink - XML Linking LanguageXLink - XML Linking Language
• Erlaubt Links zwischen Ressourcen (XML Strukturen)• Einfache Links: Wie Hyperlinks (z.B. in HTML)• Basiert auf XPointer• Komplexere Links
– Zwischen mehr als zwei Ressourcen– Können unabhängig von Ressourcen existieren– Metadaten (Attribute) können den Links beigefügt werden
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 40
W3C Activity Statement zu DOMW3C Activity Statement zu DOM
W3C's Document Object Model (DOM) is a standard API (Application Programming Interface) to the structure of documents;
It aims to make it easy for programmers to access components and to delete, add, or edit their content, attributes and style.In essence, the DOM makes it possible for programmers to write applications which work properly on all browsers and servers and on all platforms. While programmers may need to use different programming languages, they do not need to change their programming model.
W3C's Document Object Model thus offers programmers a platform- and language-neutral program interface which will make programming reliably across platforms with languages such as Java and ECMAScript a reality.
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 41
Beispiel: DOM Interface für Enabler von Softlab Beispiel: DOM Interface für Enabler von Softlab
XMLDokument
XMLParser
Enabler Repository
Enabler Java API
XML Anwendung
DOM API
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 42
XML UmfeldXML Umfeld
• Reihe von Initiativen für den Austausch von Finanzdaten– Beispiel OFX (Open Financial Exchange)
• Ähnliche Initiativen in anderen Branchen• XMI (XML Metadata Interchange): OMG
– Sprache zum Austausch von Modellen in UML
• Standards für Web Services– SOAP (Simple Open Access Protocol)– WSDL (Web Service Definition Language)– UDDI (Universal Description, Discovery and Integration)– ebXML (electronic business XML)
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 43
Anwendung von XMIAnwendung von XMI
Anwend.Modell
Werkzeug
UML Modellierungswerkzeugz.B. Rational Rose
XMIDokument
UML Repository
AnwendungsRepository / Datenbank
Anwend.Modell
Anwendungs-Daten
UMLMeta Modell
Anwendungs-Modell
1
2
1 Modell wird in ein Repository oder ein anderes Werkzeug zur weiteren Bearbeitung übertragen.
2 Modell wird in ein Anwendungs-Datenbank-Schema übertragen. Hierzu ist häufig eine Transformation notwendig.
Anwend.Modell
Werkzeug -2
1
1
Architekturen von Web-Anwendungen, LMU, WS-01/02 Folie 44
Benutzung von XML im Web-UmfeldBenutzung von XML im Web-Umfeld
• (X)HTML ist XML Sprache: Basis des Web• Künftig Verarbeitung von XML direkt in Browsern (ohne
Transformation in HTML)• XML als Sprache für Content Management• Document Management• EDI (Electronic Data Interchange)• Metadaten (UML Modell) - Austausch (XMI)• Messaging• WebServices
– SOAP– WSDL– UDDI– ebXML