ΣXΕΔΙΑΣΜΟΣ ΣΥΣΤΗΜΑΤΟΣ ΚΛΕΙΩ Ι.Ν.Β.Ι.Σ. Ιανουάριος 2004
WEB SERVICES COMPOSITION State of the Art •BPEL4WS •XLANG •WSFL
ΣΥΣΤΗΜΑ ΚΛΕΙΩ
ΥΛΟΠΟΙΗΣΗ OFFLINE •Δημιουργία Οντολογικής Δεξαμενής φυσικής γλώσσας. •Περιγραφή WORKFLOW με XLANG ή BPEL4WS •Δημιουργία SOAP API για PAPYRUS και ANTLANTIS •Αντιστοιχία PAPYRUS WORKFLOW ENDPOINTS με ANTLANTIS PROCESSES RUNTIME •Ανάκτηση των ερωτημάτων από την Οντολογική Δεξαμενή •Αίτηση του κατάλληλου WORKFLOW. •Εκτέλεση και έλεγχος των ενεργειών βάση του workflow (BIZTALK SERVER). •Μεταφορά εγγράφων και αποτελεσμάτων στον χρήστη.
Business process modeling με χρήση του BizTalk Server 2002 και των διεπαφών του προγραμματιστικά
Επισκόπηση •Υπάρχει η δυνατότητα προγραμματιστικής πρόσβασης χρησιμοποιώντας το BizTalk Messaging Configuration object model που είναι στην ουσία COM interfaces •H πρόσβαση είναι εύκολη για προγραμματιστές Visual Basic ή C++ ωστόσο η VB έχει περιορισμού με ορισμένες μεθόδους •Στα πλαίσια του έργου απαιτείται η συνέργεια του BizTalk server με custom λογισμικό αλλά και με APIs που θα διαθέτουν για το σκοπό αυτό τα προς ολοκλήρωση συστήματα
Σενάριο – Υποβολή παραγγελίας προμήθειας •Σύμφωνα με το σενάριο, η εταιρεία Α (αγοραστής) χρησιμοποιεί το σύστημα για να σχεδιάσει και να υλοποιήσει μια Β2Β διεργασία προμήθειας με μια εταιρεία Β (πωλητής). Όταν μια παραγγελία παραχθεί από την εταιρία Α, πρέπει να τηρεί ορισμένα κριτήρια για να εγκριθεί. Αν η αίτηση για την παραγγελία είναι μικρότερη ή ίση από 1000 ευρώ, μια εντολή προμήθειας παράγεται και στέλνεται στην εταιρία Β, αλλιώς η διαδικασία τερματίζεται. •Η εταιρεία Β αυτοματοποιεί τη διαδικασία με τη χρήση ενός XLANG schedule (το μοντέλο κατά BizTalk) για να ελέγξουν τη ροή δεδομένων στα συστήματα τους •Αφού εγκριθεί η παραγγελία, η εταιρία Β χρησιμοποιεί τα Messaging Services του BizTalk server για να λάβει, δρομολογήσει και μετατρέψει τη φόρμα έτσι ώστε να ταιριάζει με το format της εταιρείας B. Η εταιρεία Β λαμβάνει τη παραγγελία, την εκτελεί και αποστέλλει τιμολόγιο πίσω στην Α. Μόλις ληφθεί το τιμολόγιο, εκδίδεται πληρωμή και αποστέλλεται πίσω στην εταιρία Β.
Μοντέλο διασύνδεσης •Το σενάριο προϋποθέτει την υλοποίηση λύσης ASP όπου τα προς ολοκλήρωση συστήματα είτε συνυπάρχουν στον ίδιο υπολογιστή είτε σε κατανεμημένα συστήματα (clustering)
Υλοποίηση επιχειρηματικού μοντέλου •Αρχικά γίνεται μοντελοποίηση του σεναρίου με το Papyrus χρησιμοποιώντας το web interface του το οποίο παράγει ένα αρχείο κειμένου με XLANG περιγραφή το οποίο και αποστέλλεται στον BizTalk Server (π.χ. με FTP service) •Το γραφικό περιβάλλον για τη δημιουργία του μοντέλου πρέπει να χρησιμοποιεί σημειολογία αντίστοιχη του Orchestration Editor •Σε αντίθεση με τον Orchestrator, παράγεται ένα text αρχείο XLANG το οποίο είναι εκτελέσιμο, χωρίς ένα ενδιάμεσο.skv αρχείο το οποίο περιέχει το μοντέλο σε proprietary binary format •To σενάριο (schedule) ξεκινάει να εκτελείται όταν π.χ. ένα COM+ component το οποίο παρακολουθείται από τον BizTalk •To μοντέλο περιέχει δεδομένα υλοποίησης (π.χ. COM components που χρησιμοποιούνται, MSMQ services, κλπ) •Υλοποίηση λογικής (π.χ. if-then-else) μπορεί να γίνει με χρήση scripting γλώσσας
Υλοποίηση επιχειρηματικού μοντέλου (2) •Το περιβάλλον σχεδίασης του BizTalk εικονίζεται πιο κάτω:
Ορισμός προτύπων εγγράφων •Το επόμενο βήμα είναι να γίνει μοντελοποίηση των επιχειρηματικών κειμένων που θα διακινούνται μέσω του συστήματος •Στο σενάριο μας πρέπει να δημιουργηθούν πρότυπα για τα κείμενα εντολής προμήθειας και εντολής πληρωμής •Είναι πιθανό να χρειαστεί να αντιστοιχηθούν δύο κείμενα, π.χ. Το τιμολόγιο της εταιρείας Β με την εντολή πληρωμής της εταιρείας Α •Η μοντελοποίηση και το πιθανό mapping μπορεί να γίνει είτε με χρήση του BizTalk Editor και Mapper αντίστοιχα είτε με κάποιο άλλο τρόπο, αρκεί να είναι ένα δομημένο κείμενο. Ο BizTalk υποστηρίζει ένα πλήθος προτύπων •Αποθήκευση των προτύπων γίνεται σε WebDAV server ο οποίος ανήκει στον BizTalk server •Επίσης, γίνεται και επαλήθευση των προτύπων που δημιουργήθηκαν σε περίπτωση που περιέχουν λάθη ως προς τη δομή (well – formatted XML)
Ορισμός προτύπων εγγράφων •Το περιβάλλον του BizTalk Editor και του Mapper φαίνεται πιο κάτω BizTalk EditorMapper
Ρύθμιση των Messaging Services Το τρίτο βήμα είναι η ρύθμιση των συστημάτων των εταιρειών Α και Β έτσι ώστε να μπορούν να λάβουν και να δεχτούν κείμενα •Αυτό μπορεί να γίνει και απομακρυσμένα με χρήση του αντικειμένου BizTalk Messaging Configuration object model API. •Δημιουργούνται οντότητες για όλους τους partners που εμπλέκονται στη διεργασία •Επίσης δημιουργούνται ορισμοί κειμένων που έχουν αναφορές στα πρότυπα που δημιουργήθηκαν στο προηγούμενο βήμα •Δημιουργούνται messaging ports τα οποία ορίζουν HTTP services για την αποστολή και λήψη αρχείων, ένα port / κείμενο •Αυτό μπορεί να γίνει είτε με συγκεκριμένο script είτε με χρήση του BizTalk Messaging Manager και BizTalk Server Administration
Ρύθμιση των Messaging Services (2) • Το port περιέχει τη διεύθυνση που αποστέλλεται ένα κείμενο και δένεται με τους ορισμούς των εταίρων •Ορίζονται κανάλια που κάνουν χρήση των mapping μεταξύ των κειμένων και δηλώνουν τα εισερχόμενα και εξερχόμενα κείμενα •Το τέταρτο βήμα περιλαμβάνει τη δημιουργία μεθόδων που θα επιτρέπουν την προώθηση αρχείων από μια συγκεκριμένη τοποθεσία στο Messaging Services
Σχετικά με τα Συστήματα των Εταιρειών Α και Β Το Papyrus και το ERP μπορούν να βρίσκονται στο ίδιο μηχάνημα με τον BizTalk Server ή να βρίσκονται σε διαφορετικό μηχάνημα και να διαθέτουν thin clients για την επικοινωνία με τον BizTalk server αλλά και custom interfaces για την απομακρυσμένη χρήση τους. Εναλλακτικά, αν βρίσκονται σε διαφορετικά μηχανήματα, μπορεί να υπάρχει και ένα instance του BizTalk server (Enterprise Edition) Για να αποστείλει μια εφαρμογή σε μια άλλη ένα κείμενο ή μια πληροφορία κάνει χρήση του IInterchange interface του BizTalk server που διαθέτει μια σειρά μεθόδων για την υποβολή κειμένων Η λήψη και προώθηση γίνεται αυτόματα επειδή ο BizTalk παρακολουθεί συνέχεια προκαθορισμένες τοποθεσίες όπου λαμβάνονται τα αρχεία Θα ήταν καλό τα προς ολοκλήρωση συστήματα να διαθέτουν COM+ API με μεθόδους αντίστοιχες στη ζητούμενη λειτουργικότητά τους π.χ. GetInvoiceData(Id, company_name,value….)
Εκτέλεση σεναρίου Το σενάριο βασίζεται στην υλοποίηση μιας ASP λύσης Η παρακολούθηση της εκτέλεσης μπορεί να γίνει και απομακρυσμένα μέσω του API που διαθέτει ο BizTalk server Παράμετροι της εκτέλεσης του σεναρίου μπορούν επίσης να ελεγχθούν προγραμματιστικά και άρα απομακρυσμένα αν χρειαστεί Κοινοπραξία Εταιρεία Α Εφαρμογές BizTalk Server BizTalk Server Messaging Service Εταιρεία Β