B1 Lotusday 2008 Vortrag X Forms Rapid Development
1. B1 Rapid Development für die Fachabteilung
X-Forms: Web Formulare
X Forms: Web-Formulare mit Notes Domino
Ansgar Knipschild, kingmedia websolutions – http://www.kingmedia.de
Lotusday 2008 17. September 2008 – websolutions smart. simple.Hagen
kingmedia ARCADEON, useable.
2. kingmedia websolutions
g
business. prozesse. portale.
• Spezialisiert auf B2B-Webportale und Applikationsentwicklung
• Portalexperten für IBM Websphere, IBM Lotus Domino, Liferay, Java/J2EE Projekte
• Branchen: Versicherungen, Finanzen, Handel, Distribution
• Portalstrategien und Lösungen für Konzerne und internationale Lösungen
• Vertriebsportale: Agenten, Vermittler, Banken, Presales Postsales Risikoprüfung
Agenten Vermittler Banken Presales, Postsales, Risikoprüfung...
• eCommerce-Plattformen: SAP-Integration, Bestandssystem-Integration,
Transaktionsmanagement
PARTNER
• IT-Projektbeschleunigung um 40% durch intelligente Produktionstools
Leistung. Zuverlässigkeit. Vertrauen.
Unsere Kunden (Auszug): TECHNOLOGIEN
kingmedia websolutions smart. simple. useable.
3. Vertriebsportal Szenario 3
p
Vertriebs-Reporting und -Controlling: Management Cockpit für SAP-BW
Portal als Präsentationsschicht für ein Datawarehouse (SAP-BW)
Personalisierter Online-Zugriff auf aktuelle BW-Zahlen: Umsatz, Provisionen…
Dynamische Darstellung p interaktiver Charts (
y g per (Adobe FLEX)
)
Excel-Download
kingmedia websolutions smart. simple. useable. 3
4. kingmedia websolutions
g
Beispiel Vertriebsportal
Live Showcase
kingmedia websolutions smart. simple. useable. 4
5. Wie werden Portalapplikationen entwickelt und gewartet?
pp g
1. Klassische Applikationsentwicklung
Applikationsentwicklung Anwender
Anforderungen Domino/Java Content/Daten
E t i kl
Entwicklung
(Fachabteilung) (Fachabteilung)
PORTAL
(IT)
Live Showcase
kingmedia websolutions smart. simple. useable. 5
6. Wie werden Portalapplikationen entwickelt und gewartet?
pp g
2. Agile Applikationsentwicklung: Interaktive Dokumentation, Testgetrieben
Applikationsentwicklung
A lik ti t i kl Anwender
Anforderungen Domino/Java Content/Daten
Entwicklung
(Fachabteilung) (Fachabteilung)
(IT)
PORTAL
Live Showcase
Anforderung/Entwicklung
Content/Daten
(Fachabteilung)
Prozess-/Regelaktualisierung
Prozess /Regelaktualisierung
kingmedia websolutions smart. simple. useable. 6
7. kingmedia websolutions
g
Beispiel Excel Dokumentation
Live Showcase
kingmedia websolutions smart. simple. useable. 7
8. Rapid Development durch die Fachabteilung
p p g
Eingesetzte Technologien
X-Forms (W3C-Standard) als zentrale Komponente zur Modellierung von
Masken, Views, Datenmodell etc.
, ,
Hochmodulare Technologie, basierend auf J2EE-Industriestandards
Einsetzbar unter IBM Domino, IBM WebSphere Portal, aber auch anderen
Portalplattformen
Konfiguration komplett XML-basiert
XML basiert
Zugriff auf Backends über einfache XML-Metasprache: SAP, RDBMS,
Webservices…
Webservices
Nutzung von IBM Lotus Domino zur Security, XML-Datenspeicherung und
Replikation über verteilte Systeme
Dokumentation aller XML-Konfigurationen in Excel
kingmedia websolutions smart. simple. useable. 8
9. Rapid Development durch die Fachabteilung
p p g
Technologie Server Runtime am Beispiel IBM Domino 6.5.x
Security
Domino Authentication Authorization
&
Frontend Web-Proxy
Domino HTTP
Web-Frontend ( forms HTML CSS)
X , ,
Services
Domino
Process
Engine Process -Controller
Data Dictionary Business Modules Web Processes
-
Data Model
Middleware
ARAsoft (SAP) Web Persistence
Backend Connectivity Layer
(JCo,
(JCo Domino nativeJDBC ODBC RMI CORBA
nativeJDBC
, , , RMI, )
Other
SAP Domino RDBMS
Backends
kingmedia websolutions smart. simple. useable.
10. Rapid Development durch die Fachabteilung
p p g
Übersicht der Design-Elemente der Applikation
Configuration components: Domino goes XForms
XForm
Structure of
page / input form
Model SAP mapping
User instance(s) RFC configuration SAP
Meta instance Data structure of - input
product / process - output
Text and caption of
page / input form:
i tf
- field label
- help values
- help texts
kingmedia websolutions smart. simple. useable. 10
11. Rapid Development durch die Fachabteilung
p p g
1. X-Forms Model-Instance
<?xml version=quot;1.0quot; encoding=quot;iso-8859-1quot;?>
<data> The Model instance
<!--Kreditversicherung-->
<pa_risikozusatz /> describes the data
<!--Verdienstausfallzusatzversicherung-->
<pa_verdienstausfallzusatz />
model of the insurance
<!--Versicherungsbeginn--> product (process)
<ANLAGEDATUM />
<!--Produktcode-->
<PRODUCTCODE>ZF001</PRODUCTCODE>
<IT_PROPOSAL id=quot;1quot;>
Structure and
<!--Versicherte Personen--> hierarchical buildup
<IT_PERSON id=quot;1quot;>
<LFNRVOR>1</LFNRVOR> can be designed
<LFNROBJ>1</LFNROBJ>
<!--Geburtsdatum-->
completely free
<GEBURTD />
<!--Geschlecht-->
<GESCHLK /> Optionally default
</IT_PERSON>
...
values can be defined
for
f each object
kingmedia websolutions smart. simple. useable. 11
12. Rapid Development durch die Fachabteilung
p p g
2. X-Form
<?xml version=quot;1.0quot; encoding=quot;ISO-8859-1quot;?>
<html xmlns=quot;http://www.w3.org/2002/06/xhtml2quot; The XForm describes
xmlns:xforms=quot;http://www.w3.org/2002/xformsquot;
xmlns:xlink=quot;http://www.w3.org/1999/xlinkquot; the structure of the
xmlns:portal=quot;http://com.ergo.portalquot;>
<head>
input form
<title>zkv</title>
<xforms:model id=quot;model_zkvquot;>
<xforms:instance id=quot;zkv_dataquot; src=quot;file:zkv_dataquot;/>
_ _ W3C recommendation
<xforms:bind id=quot;is_offer_anlagedatumquot; xforms:nodeset=
quot;instance('zkv_data')/variant[/data/current_variant]/i_s_offer/ANLAGEDquot;/>
... The design is
</xforms:model>
</head> seperately defined by a
<body>
y
...
stylesheet (XSLT)
<xforms:group xforms:appearance=quot;fullquot; id=quot;zkv_pagequot;>
<xforms:label
xforms:ref=quot;instance('zkv_main_meta')/groups/group[@id='person']/labelquot;/>
<xforms:group xforms:appearance=quot;fullquot; id=quot;person_captionquot;>
<xforms:input xforms:bind=quot;bind_p
p person_namequot;>
<xforms:label xforms:ref=quot;portal:getLabel('name')quot;/>
<xforms:help xforms:ref=quot;portal:getHelp('name')quot;/>
<xforms:hint xforms:ref=quot;portal:getHint('name')quot;/>
<xforms:alert xforms:ref=quot;portal:getAlert('name')quot;/>
</xforms:input>
<xforms:input xforms:bind=quot;bind person birthdatequot;>
xforms:bind bind_person_birthdate >
<xforms:label xforms:ref=quot;portal:getLabel('GEBURTD')quot;/>
<xforms:help xforms:ref=quot;portal:getHelp('GEBURTD')quot;/>
<xforms:hint xforms:ref=quot;portal:getHint('GEBURTD')quot;/>
<xforms:alert xforms:ref=quot;portal:getAlert('GEBURTD')quot;/>
</xforms:input>
kingmedia websolutions smart. simple. useable. 12
13. Rapid Development durch die Fachabteilung
p p g
3. X-Form Metainstance
<?xml version=quot;1.0quot; encoding=quot;ISO-8859-1quot;?>
<data xmlns=quot;quot;>
<title>zkv</title>
The Meta instance
<help> describes all texts and
<head>
Hilfe für die aktuelle Eingabemaske zur Versicherung captions:
</head>
<body>
Dieses Dokument enhält alle Hilfetexte zu Ihrer Eingabemaske</body> field label
</help>
</h l >
<groups> help values
<group id=quot;personquot;>
<label>Antragssteller und versicherte Person</label>
help texts
</group>
<group id=quot;vertragsdatenquot;>
<l b l>V t
<label>Vetragsdaten</label>
d t </l b l>
</group>
</groups>
<fields>
<field id=quot;namequot;>
<label>Name</label>
<alert>Bitte geben Sie den Namen des Antragsstellers ein.</alert>
/
<hint>Name des Antragsstellers.</hint>
<help>Name des Antragsstellers.</help>
</field>
<field id=quot;GEBURTDquot;>
<label>Geburtsdatum</label>
<alert>Bitte geben Sie das Geburtsdatum der Person ein.</alert>
<hint>Geburtsdatum der Antragsstellers.</hint>
<help>Geburtsdatum der Antragsstellers.</help>
</field>
kingmedia websolutions smart. simple. useable. 13
14. kingmedia websolutions
g
4. Mapping zu Backendsystemen (Bsp. SAP - RFC Calls)
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<map rfc=quot;/RFC_OFFER_CREATEquot; process=„processIDquot;> Connects form data
<!-- INPUT START -->
<i t t h quot;i t (' k d t ')/d t / i t[@id /d t / t i t]quot;>
<input match=quot;instance('zkv_data')/data/variant[@id=/data/current_variant]quot;> with SAP RFC data
<!-- GENERAL PARAMETERS -->
<scalar loc=quot;importquot; match=quot;I_SAVEquot; name=quot;I_SAVEquot;/>
<scalar loc=quot;importquot; match=quot;I_SYNCOMquot; name=quot;I_SYNCOMquot;/>
<scalar loc=quot;importquot; match=quot;I_LOCCOMquot; name=quot;I_LOCCOMquot;/> Mapping of input and
<!-- IS_OFFER -->
<structure match=quot;i_s_offerquot; loc=quot;importquot; name=quot;IS_OFFERquot;>
p
output data
<scalar match=quot;ANLAGEDquot; name=quot;ANLAGEDquot; conv=quot;app.test.date.toSapquot;/>
<scalar match=quot;BPRPRDCODEquot; name=quot;BPRPRDCODEquot;/>
<scalar match=quot;BPRPRDTARVquot; name=quot;BPRPRDTARVquot;/> Generic and flexible
</structure>
<!-- IT_PROPOSAL --> module which supports
<table match=quot;proposal_listquot; loc=quot;tablesquot; name=quot;IT_PROPOSALquot;>
<row match=quot;proposal[1]quot;>
t h quot; l[1]quot; all RFCs and all
<scalar match=quot;LFNRVORquot; name=quot;LFNRVORquot;/>
<!-- [015] --> relevant input and
<scalar match=quot;VTRBEGDquot; name=quot;VTRBEGDquot; conv=quot;app.test.date.toSapquot;/>
<!-- [020] -->
output parametes
<scalar match=quot;BVRZAHWquot; name=quot;BVRZAHWquot;/>
<!-- [030] -->
<! >
<scalar match=quot;VARIANCquot; name=quot;VARIANCquot;/>
<scalar match=quot;ADECNRPquot; name=quot;ADECNRPquot;/>
<scalar match=quot;PRIMACYquot; name=quot;PRIMACYquot;/>
</row>
</table>
<!-- IT_OBJECTS -->
<table match=quot;IT_OBJECT_listquot; loc=quot;tablesquot; name=quot;IT_OBJECTquot;>
<row match=quot;IT_OBJECT[1]quot;>
<scalar match=quot;LFNRVORquot; name=quot;LFNRVORquot;/>
<scalar match=quot;LFNROBJquot; name=quot;LFNROBJquot;/>
</row>
</table>
kingmedia websolutions smart. simple. useable. 14
15. Rapid Development durch die Fachabteilung
p p g
Definition von Masken, GUI-Logik und Backend-Interface per Excel
Zentrale Dokumentation in Excel –
inkl. Automat. Testing und Browser-Preview !
Fachabteilung IT Abteilung
Multilanguage
Support
S t
SQL
Realtime
GUI
Backend
Definition
Integration
Customizable
Styles
SAP
Functional
Role based
and Quality
content
Control Function Calls
Role based
constraints
PDF Preview
Role based lists Testcases
GUI Preview
kingmedia websolutions smart. simple. useable.
16. Rapid Development durch die Fachabteilung
p p g
Definition von Masken, GUI-Logik und Backend-Interface per Excel
• X-Forms: Definition von GUI (Portal-ein-/ausgabeseiten, Masken, Formularen),
Datenmodell und Backend-Interface (!) in Microsoft Excel
• E l l i f h d breit k ti t Tool
Excel als einfaches und b it akzeptiertes T l zur schnellen A lik ti
h ll Applikationsentwicklung fü
t i kl für
IT- und Fachabteilungen (Rapid Development).
• Definition von im Portal generierten Druckstücken (z. B. Statusmeldungen, Bestätigungen,
Angebote, Verträge etc.) in OpenOffice
• Automatischer Preview der Portalseiten inkl. Backend-Testing direkt aus Excel heraus (!)
• Automatisches Testing mit vorab definierten Testfällen (testgetriebene Entwicklung) aus
Excel
• Integration von Backends z. B. per RFC (SAP), Webservice, JDBC/SQL oder anderer API
• Codegenerierung / Output als XML (u.a. W3C-Standards wie X-Forms)
• Sehr einfach bedienbar, hohe Qualität durch Testfallabdeckung,
Dokumentation immer „up to date
„up-to-date“
• Drastische Kostenreduzierung im laufenden Betrieb (ca. 40%)
• Server-Runtime Java-basierend, lauffähig auf IBM Domino, IBM WebSphere Portal, Liferay
Portal,
P t l SAP N t
Netweaver etc.
t
kingmedia websolutions smart. simple. useable. 16
17. Rapid Development durch die Fachabteilung
p p g
Vorteile und Projekterfahrungen im Überblick
„Dramatische“ Reduzierung von Projektlaufzeiten und Kosten
Aufhebung des Kommunikationsbruchs zwischen Fachabteilung und IT
g g
Klare Sprache, verbindliche Abstimmungen zwischen den Projektbeteiligten
Aus Kundensicht: Stärkere Unabhängigkeit von Dienstleistern und Spezialisten
Qualitätsgewinn durch stets aktuelle Dokumentation inkl. Testfälle (Compliance)
Komplett auf offenen Standards basierend, Plattform-/Serverunabhängig
Plattform /Serverunabhängig
In zahlreichen Praxis-Projekten produktiv
Veröffentlichung als OpenSource geplant !
cilander business suite
Q4 2008
Infos am Messestand und unter www.cilander.de
kingmedia websolutions smart. simple. useable. 17
18. kingmedia websolutions
g
Vielen Dank für Ihre Aufmerksamkeit.
Ansgar Knipschild
kingmedia websolutions GmbH
Hohenstaufenring 30-32, 50674 Köln
Fon 02 21 / 35 53 73 - 10
Fax 02 21 / 35 53 73 – 99
knipschild@kingmedia.de
www.kingmedia.de
kingmedia websolutions smart. simple. useable. 18