| FB Design der FH Aachen > Seminare > | ||
| »IntraZopista« Seminar am FB Design der FH Aachen im WS 2002/2003 |
||
| |
||
|
Softwarearchitektur
## Playing Together Nicely: Getting REST and SOAP to Share Each Other's ToysJason R. Briggs plädiert für eine SOA-Konzeption, die SOAP-basierte und REST-basierte Schnittstellen gemeinsam anbietet. ## Yahoo! Web Services »Yahoo's Web Services use the familiar REST architecture, where specially constructed URLs return an XML response in a unique format. In addition to web search results, Yahoo's API includes the ability to fetch results for images, local information, news, and video.« ## Gryphon - Publish/Subscribe Broker »An integral part of our team's mission is the development of a robust publish/subscribe message broker. We call this system Gryphon. Gryphon has been deployed over the internet for real-time sports score distribution at the US Tennis Open, Ryder Cup, and Australian Open, and for monitoring and statistics reporting at the Sydney Olympics. Publish/subscribe systems contain information producers, which publish events to the system, and information consumers, which subscribe to particular categories of events within the system. The system ensures the timely delivery of published events to all interested subscribers. In addition to supporting many-to-many communication, the primary requirement met by publish/subscribe systems is that producers and consumers of messages are anonymous to each other, so that the number of publishers and subscribers may dynamically change, and individual publishers and subscribers may evolve without disrupting the entire system.« ## SOAP isn't Soup »Web services may be unfortunately trendy, but having a simple API for other people to use your application is very powerful and useful. Is SOAP the right way to go? Sam Tregar describes an alternate approach he's pulled from working the Bricolage and Krang APIs.« [via Der Schockwellenreiter] ## CMS Watch: Web Services and CMS »Web Services can assist an enterprise in extending its content management capabilities to other systems and vice-versa, thereby obtaining more value from their IT investments. You can also yield the benefits of specialization. A services-oriented architecture allows different systems to do what they do best, enabling a cleaner separation of concerns than is found in most enterprises today, and potentially reducing your dependence on major suite vendors.« Ein interessanter Artikel über die Frage was WebServices im Bereich der Content Management Systeme bedeuten könnten. ## Flash Remoting in Perl and Python »Flash Remoting is a way for Flash movies running in a web browser to request structured data from the web server. The following data types are supported - strings, numbers, dates, arrays, dictionaries/hashes, objects, recordsets. Flash clients talk with the server using the AMF protocol, which is proprietary to Macromedia. However, it's not that hard to decode.« ## Dokumentation eines Archivsystems auf Basis von Zope und Plone An acquisition, search and retrieval system based on Zope/Plone (PDF, 271 KB). [Daily Python-URL! (from the Secret Labs)] [Der Schockwellenreiter] ## Web Services Integration Patterns, Part 1 Massmiliano Bigatti musste für einen Kunden eine Webservices basierte Architektur für eine Bank ausbauen. Das bestehende System nutzte SOAP und war laut Bigatti nicht ausgelegt auf Klarheit und einfache Erweiterbarkeit. Der Artikel beschreibt, wie im Bereich der Webservices eine Abstraktionsebene mit "Service Proxies" und "Service Channels" eingezogen werden kann. ## IT Conversations: Services Oriented Architecture (SOA) Einige IT-Fachjournalisten aus den USA (namentlich: Steve Gillmor,Doc Searls, Jon Udell, Dana Gardner und Dan Farber) diskutieren den Wandel der Software-Branche hin zu Web-Service orientierten Produkten. Die Diskussion ist verfügbar als Audio-Stream und als Download. ## Marktforscher: Nachfrage nach Webservices wird wachsen »Im Jahr 2008 werden weltweit 11 Milliarden US-Dollar in Software für Webservices investiert. Das vermuten die Marktforscher von IDC. Das wäre gegenüber den für 2003 veranschlagten 1,1 Milliarden US-Dollar eine Verzehnfachung. Die Technik stehe an einer vorderen Stelle bei den Bemühungen, Kosten einzusparen. Bislang hätten sich Firmen die Technik vorsichtig angeeignet. 2005 und 2006 werde es aber eine lebhaftere Nachfrage geben. Dann, so glauben die Marktforscher, werden nach den großen Unternehmen auch die kleineren Webservices nutzen.« ## Panel discusses SQL, XML, Web Services, and Grid Computing »In a panel discussion at Software Development 2004 entitled "Marrying SQL, XML, Web Services and Grid Computing", Peter Coffee of eWEEK magazine best summarized the state of these four technologies when he said that customers would not abandon SQL, wanted to use XML to repurpose data, and considered Web Services the default implementation strategy for many projects. On the other hand, they felt grid computing was still three to five years away.« ## webservices und sicherheit ...Bei WS-Security verhält es sich aber wie gesagt anders - es geht um das Hosting von Security Tokens. Dabei müssen wir zwei Dinge unterscheiden: Einerseits die Objekte, die wir Security Tokens nennen und aus einem Cerberos-Ticket, einer SAML-Assertion, einem x509-Zertifikat, einem Dial Password Digest oder etwas ähnlichem bestehen können. Diese Tokens sind statisch, ganz ähnlich wie objekt-orientierte Klassen. Sie beschreiben den Security-Kontext und liefern alle nötigen Sessioning-Informationen. Daneben haben Sie das Protokoll, und genau darum geht der Kampf. Das Protokoll legt fest, wie Sie nach einem Security Token fragen und es versenden. WS-Security wird allseits akzeptiert, weil es den Einsatz jedes vorstellbaren Tokens erlaubt. Tokens wiederum sind in Profiles definiert, und Sie können jederzeit ein neues Profil anlegen. Das vereinfacht vieles und wird allseits eingesetzt. Darum wurde WS-Security öffentlich gemacht. .... ## Webservices und die Flut der Konzepte "Für das Szenario, Firmensoftware per Webservice (WS) über unerwartete Ereignisse zu benachrichtigen, grassieren ebenso unterschiedliche Entwicklervorstellungen wie für andere Einsatzmöglichkeiten dieser Dienst." [full article at heise.de] ## An Introduction to the Twisted Networking Framework Eine Einführung in das »Twisted Networking Framework«. Twisted ist eine Architektur von Klassen und Bibliotheken für Python, die es erlaubt sehr flexibel Netzanwendungen zu realisieren. Derzeit tendiere ich dazu die Webservices als SOAP-Server zu realisieren und Zope tasächlich nur als HTML Client zu diesen Services zu nutzen. Die kniffelige Frage hier ist das der Sicherheit: natürlich sollen nur authentifizierte User bestimmte Funktionen innerhalb der Webservices ausführen/abrufen können. Und das kann ja nicht ausschliesslich clientseitig geschehen (also z.B. durch die ACL in Zope), sondern muss selbstverständlich im SOAP-Dienst abgesichert werden. Es soll ja möglich sein andere Clients auf Basis der Webservices zu implementieren (z.B. ein Flash-Editor für den Kalender?): die SOAP-Methoden serverseitig unterscheiden ja im Grunde nicht was den Request sendet. Daher muss irgendwie in der SOAP-Transaktion auch ermittelt werden könen wer den Zugriff initiiert. Die Frage der Authentifizierung und der Sicherung der Kommunikation (z.B. über SSL) scheint mir derartig komplex (und wesentlich), dass ein Framework wie Twisted hier tatsächlich eine grosse Hilfe sein könnte. ## Twisted Matrix Python framework »Twisted Matrix Laboratories is a distributed group of open-source developers working on Twisted, an event-driven networking framework written in Python and licensed under the LGPL. Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols (including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more.« Das Framework scheint schon sehr ausgereift und leistungsfähig zu sein. Ausserdem sieht es so aus als sei erfreulich wenig Code nötig. Zum Beispiel braucht man nur wenig Code um einen XML-RPC- und SOAP-Server zugleich zu implementieren (also auf derselben Webserver-Instanz).<br/>Beim Durchsehen der Beispiele ahne ich warum das Ding »Twisted« heisst... ## Synching is merging Brent Simmons - Author von NetNewsWire - über das Grundproblem der Synchronisierung. ## Diskussion über den Sinn und Unsinn von Webservices In der Deutschen Zope User Group wurde über den Sinn oder Unsinn von Webservices via SOAP oder XML-RPC diskutiert. ## Migrating to a service-oriented architecture »This is the first in a series of papers intended to help you better understand the value of a service-oriented architecture (SOA), and to develop a realistic plan for evaluating your current infrastructure and migrating it to a true service-oriented architecture. It is intended that after reading this paper, you will understand why it is claimed that a SOA is the best platform for carrying existing assets into the future, as well as enabling the rapid and correct development of future applications. Additionally, you should have a better understanding of the major considerations in planning such a migration.« ## OSE »OSE is a generic application framework suitable for constructing general purpose applications, distributed systems and web based services. [...] Key components of the system include support for event driven systems, stream based and message oriented interprocess communications and a framework for request/reply or publish/subscribe service agent based systems. Web based interfaces may be constructed using a HTTP servlet framework or by using RPC over HTTP protocols such as XML-RPC and SOAP.« Graham Dumpleton: »In short, OSE could be said to take technology from event driven real time systems, message oriented middleware, application server and web service technology and wraps it all into one.« Das OSE Projekt existiert seit 10 Jahren als freie Software im Internet. Eine Dokumentation für den Einsatz von Python serverseitig ist hier. Eine Reihe von Beispielscripten hier. ## Enhydra Wenn es einen Open Source Application Server gibt, der eine Alternative zu Zope zu sein scheint, dann wäre es bestimmt Enhydra. Dieses JAVA-lastige Projekt kommt inzwischen mit einer ganzen Reihe an Erweiterungen. Enhydra ist offenbar auch Teil einer größeren Initiative für Open Source Middleware mit dem Titel ObjectWeb, welche 1999 von Bull, France Telecom und INRIA gegründet wurde: »As stated above, "comprehensive" means that ObjectWeb middleware is intended to cover the major functions one has come to expect of industrial-strength distributed platforms such as OMG's CORBA, Sun's Java platforms (e.g. J2EE), or Microsoft's .Net, including, for instance, support for remote invocation, distributed transaction processing, asynchronous messaging, event notification, persistence, distributed system management, active directories, service discovery and trading, load-balancing and clustering, etc.« ## Next-Gen UI Technologie? John Udell äußert Kritik an diversen Plänen das Subsystem für die zukünftigen User Interfaces auf "web-ähnliche" Technologien aufzubauen. Zwar sind die Ambitionen zur Konvergenz Dokument-Präsentation und Applikationen begrüßenswert - aber verschiedenen Hersteller scheinen sich hier mit eigenen Entwicklungen durchsetzen zu wollen. Zitat: »As Jeremy Allaire pointed out the other day, Flash is making a serious effort along these lines, and has -- in Laszlo and the forthcoming Royale -- its own XML-based layout techniques. I've also mentioned Mozilla's cross-platform technique, XUL. Now Microsoft is pitching a Windows-only UI renderer that targets 2006-era desktops and notebooks, while allowing MSIE to stagnate. I can see how and why they arrived at this strategy, but it doesn't seem to be the kind of Web/GUI convergence I'm looking for.« Vor diesem Hintergrund erscheint mir die Strategie langfristig die Architektur als Service-Architektur zu planen nur um so dringender und richtiger. ## RSS & Education »The implications of RSS file syndication for the academy—in particular, its potential to expand the scope and prominence of self-published Web content—are significant, especially when files are produced from the content of a professional's weblog. In essence, RSS syndication technology provides a bridge between isolated Web content and interested information consumers in multiple institutions, groups, and arenas of practice. By reaching out to a global audience, syndication transforms the "lonely voice" of the Web page into an international dialogue of ongoing professional discourse.« RSS iss zwar keine Killer App, der Artikel aber trotzdem ganz gut. [BildungsBlog] ## WASTE: dynamische Peer-to-Peer-Netze »Nullsoft: "WASTE is a software product and protocol that enables secure distributed communication for small (on the order of 10-50 nodes) trusted groups of users."« [Scripting News] ## Revolution 2.0 Release Candidate Revolution ist eine Entwicklungsumgebung für Software, die man für die gängigsten Zielplattformen ausgeben kann. Das Motto: »Write once, run anywhere«. Das klingt nach Java. Revolution scheint allerdings die Anwendungen nativ zu erzeugen (also ohne eine Virtual Machine oder einen Runtime Interpreter). Ob sich Runrev mit diesem Konzept gegen die mächtige Java-Community durchsetzt bleibt fraglich. ## REST - REpresentational State Transfer »REST is an architectural style for building large-scale networked applications. It is a description of the features of the WWW that made the Web so successful. [...] The Web is the most successful example of an environment that allows for interoperability among a large number of otherwise uncoordinated actors, and inasmuch as that is a desirable trait in a computing environment (e.g. for Web Services), the REST model provides a valuable framework. [...] The most important contrast with the REST architectural model is the Remote Procedure Call (or RPC) model, which "attempts" to take the local programming model of a function call and make it work across a network. The success of REST and the "failure" (on several dimensions, most notably adoption across WANs and between uncoordinated organizations) of previous attempts at RPC architectures such as DCOM, CORBA and RMI suggests that REST has superior characteristics of scalability and mass adoption, largely because of the low coordination costs.« ## PyTextile »PyTextile is a Python port of Textile, Dean Allen's Humane Web Text Generator. It supports all the features of the original, with the exception of converting high-bit characters to their HTML numeric entity equivalent, because that's some bad-ass PHP goin' on and I don't pretend to understand it.« ## Service Oriented Programming ## Ampoliros »Ampoliros is an advanced and easy to use distributed PHP Web applications platform, featuring a powerful Xml-Rpc and Soap interface. It is suitable as an Internet/Intranet development and deployment system. It has a very strong modular architecture and allows very fast deployment of web solutions. Ampoliros is not a CMS (content management system), it is a web application server, and not limited to web sites: it handles web based applications in general.« ## nxgate »Nxgate acts as an XML-RPC gateway between an NNTP server (like INN) and any program that can call XML-RPC Web services (like Radio 8). It can be used to batch import postings from an internal NNTP server to a Web log.« ## Lotus Sametime in Zusammenarbeit mit Microsoft Office »Die so genannte Presence Awareness entwickelt sich für Lotus zu einer Killeranwendung -- und das beschränkt sich keineswegs auf Buddylisten und Instant Messenger. Wo auch immer ein Benutzername auftaucht, etwa in E-Mail-Adressen, Kalendereinträgen und einfachen Mitarbeiterlisten, kann man mittels Lotus Sametime anzeigen lassen, ob die Person hinter diesem Namen gerade verfügbar ist. Mit Sametime Everyplace erstreckt sich die Reichweite auch auf mobile Geräte wie Handys, Pager und PDAs.« ## How to extend Radio's RSS generator Dave Winer arbeitet an einer kleinen Ergänzung des Systems, dass in Radio Userland aus dem Meldungen RSS-Files generiert. Diesem Generator-Script kann man nun eigene RSS-Tags und Attribute zu den vorhandenen RSS-Files hinzufügen. Mittelfristig bedeutet dies, dass man zwar RSS kompatibel bleibt, aber jeder Eintrag auch gänzlich andere Dinge beschreiben kann als Meldungen. Typisch für Userland ist der Weg: über einen Callback. Callbacks sind im Grunde Listen die auf Scripte verweisen und die darüber hinaus mit einem Ereignis im Systemablauf verbunden sind. In der Regel sind sie leer. Fügt ein Benutzer einer Callback-Liste jedoch einen Verweis auf ein Script hinzu, dann wird dieses zusätzlich aufgerufen, wenn das betreffende Ereignis eintritt. Auf diese Weise bleibt die Softwarearchitektur von Userland unbelastet von den Änderungen und Ergänzungen der Entwickler und Power-User. ## PyDS - Python Desktop Server Hier programmiert Georg Bauer einen Personal Desktop Webserver nach dem Vorbild von Radio Userland - allerdings in Python. Neben dem PyDS hat er auch einen PyCS (Python Community Server) in der Mache, welches im Grunde ein Clone des RCS (Radio Community Server) ist (hiess früher mal xmlStorageSystem). ## Open Web Application Security Project (OWASP) "The Open Web Application Security Project (OWASP) is an Open Source community project staffed entirely by volunteers from across the world. The project is developing software tools and knowledge based documentation that helps people secure web applications and web services. Much of the work is driven by discussions on the Web Application Security list at SecurityFocus.com. All software and documentation is released under the GNU public licenses." ## Directory Services vs. Relationale Datenbanken Eine Seite die in Form einer Folienpräsentation Directory Services mit Relationalen Datenbanken vergleicht. ## Ldap Schema Viewer Hier findet sich eine genaue Auflistung der Daten eines OpenLDAP Servers und deren Organisation. ## Really Simple Discoverability Ein Problem mit Webservices sind die verschiedenen APIs für ähnliche Dinge. Daniel Berlinger hat ein Protokol entwickelt, welches die API eines Servers für Clients "entdeckbar" macht. Voraussetzung ist, dass die serverseitige Applikation ein Informationsfile bereitstellt: "The solution I propose below will simplify the discovery of settings information by reducing the information a user must supply to three well known elements. Assuming that the RSD file is generated by the blogging software (Radio, Manila Moveable Type, SnipSnap, Conversant, etc.) the other required bits of information not well known to the user can be easliy discovered and supplied." ## Instant Messaging & XML-RPC? "One of the coolest things done in the UserLand community in the last six months is the framework for instant messsaging that works over AIM and Jabber. I've not done much to publicize it on Scripting News because I'm not much of an IM person, but if you can think of a fun project that relates a weblog to instant messaging, send me an email, and maybe I can whip something up. It's very interesting when you consider that the content systems running behind all Radio weblogs can be accessed over IM where they might not be able to over HTTP because of firewalls and NAT." ## First LDAPUserFolder 2.0 beta released Version 2.0 represents a major code base refactoring. The main goals were code simplification, cruft removal and improving maintainability for me. While this meant putting the axe to some features it also enabled me to implement some other functionality that would have been much harder to do using the old code. ## Land in Sicht für patentfreies SOAP 1.2 ## Web Service mit dem Java-API JAXR ## XUL Defines New User Interface Options XUL is a new Netscape/Mozilla XML dialect that describes the elements of a traditional user interface. Faster and cleaner than HTML, it might just be the quickest way yet to code a UI. ## PHPportal PHPportal ist eine Art ZOPE-Clone in PHP programmiert. Statt DTML gibt es XPC. Ob die Ähnlichkeit über optische und einige Basis-Funktionen hinausgeht ist nicht ganz klar. ## XULplanet Eine Website, die sich mit der Entwicklung von XUL-basierten Mozilla-Applikationen befasst. ## Nützliche Website eine website mit ganz guten technischen dokumentationen rund um das thema "webtechnik" ## Mozdev.org made easy! mozdev.org is the home of over 90 Mozilla-based development projects (with its orange and red design, the site also sort of looks like the inside of a McDonald's). The site provides free project hosting for Mozilla application developers, and anyone who is interested in using Mozilla for application development is welcome to start their own project there. ## Revolution 2.0 noch im November Das Autorensystem Revolution soll in einer neuen Version (2.0) im November erscheinen. ## Archipelago 2.0 Archipelago is a XML-RPC based editor for Manila, Radio, and web sites that support the Blogger API and MetaWeblog API. It currently runs on MacOS 9, and OS X. ## LDAP Ressourcen LDAP Sammlung von Marian Steinbach: http://www.sendung.de/ldap/
benutzerverwaltung mit ldap
links zu allen möglichen ldap affinen themen
zope ldap adapter
ldap user management interface auf php
odbc driver for ldap servers (windows)
java ldap server
active directory abgleich mit ldap
how to port openldap to windows |
||
| Impressum · © Fachbereich Design der FH Aachen 2002 | ||