Dienstag, Februar 15th, 2011 | by Franz Kalchmair | Posted in .NET Framework, C#, IIS, LINQ2SQL, Open Components Framework, SQL 2008, Visual Studio | No Comments »
Im ersten Teil „Business Solutions entwickeln mit OCF“ wurde beschrieben, wie einfach man zu einem fertigen Grundgerüst für eine Business Solution kommt und wie man mit Hilfe des Entity Wizard alle benötigten Klassen für einen neuen Businessobjekttyp bekommt.
Die konkrete Implementierung einer beispielhaften Businesslogik ist das Thema dieses Artikels. Mit OCF lässt sich jede Art von Businesslogik umsetzen, jedoch wird die Umsetzung von Anwendungen für den Verwaltungssektor besonders unterstützt. Im letzten Artikel wurde schon kurz beschrieben, welche Entity Typen der Wizard anbietet. Businessobject, BaseDocument und Businesscase sind Typen, die in eGov-Fachanwendungen sehr häufig vorkommen. Businessobject ist das Basisobjekt eines jeden Geschäftsobjektes, enthält u.a. ein Property Identificationstring zur Darstellung der Aktenzahl bzw. Geschäftszahl. BaseDocument und Businesscase (Geschäftsfall) sind Ableitungen.
Im Beispiel werden 2 Entities erzeugt: File (Akt) und Document. File wird auf Basis des Entity Typs „Archive Object“ erzeugt, Document mit „Base Document“. Document erhält zusätzlich noch einen Foreign Key, der auf „File“ verweist.

Damit erhält man alle benötigten Klassen.
Im Design Modus des LinqToSql Mapping Files „Entities.dbml“ fügt man jetzt manuell eine Association zwischen „File“ und „Document“ ein. Damit wird „File“, also der „Akt“, zum Container für Dokumente. Ein typischer Use Case im Verwaltungsbereich.

Als nächstes folgen ein paar notwendige Anpassungen. Der DataContract „File“ muss um ein Property „Documents“ erweitert werden.

Die Klasse “FileTranslator”, die das Business Entity „File“ in den DataContract „File“ übersetzt, muss ebenfalls angepasst werden, damit etwa beim Abfragen eines Aktes die verlinkten Dokumente gleich mitgeliefert werden.

Damit sind die Vorbereitungen fertig und man kann die Service Methoden implementieren, beispielhaft die Methoden „CreateFile“, „CreateDocument“ und „GetFileByID“.
Dazu öffnet man das Interface „IBusinessService“ im Contracts-Projekt und ergänzt die Methoden.

Die Implementierung des ServiceContracts könnte so aussehen:

Damit ist die Implementierung der Businesslogik fertig. Nach dem Update der Service Referenz im Client-Projekt, kann man auf die Service Methoden zugreifen und ein kleines Testprogramm schreiben.

Damit hat man bereits das Grundgerüst einer „ELAK konformen Fachanwendung“. Eine interessante Erweiterung des Beispiels wäre die Anbindung an den Dms Service Ocf|Dms. Jedes Document Objekt wäre dann mit einem Content verlinkt.
Donnerstag, Februar 3rd, 2011 | by Franz Kalchmair | Posted in .NET Framework, C#, LINQ2SQL, Open Components Framework, Visual Studio | No Comments »
Die LieberLieber Software GmbH liefert mit dem Open Components Framework (OCF) ein Entwicklungswerkzeug zur Generierung von Business Solutions. Die Architektur von OCF ist SOA basiert, also serviceorientiert. Ein vollständiger Datenlayer erleichtert die Umsetzung der gewünschten Businesslogik.
Setup: Nach der Installation stehen das Solution Template “OCF Business Solution” und der Entity Generierungsassistent “OCF Entity Wizard” zur Verfügung.
Aufbau: Eine Business Solution wird nach einem vorgegebenen Pattern gebaut. Sie besteht nach der Generierung über das Template aus drei Projekten. Die Basis der Business Solution bildet ein WCF Service (Businessobjekt Service), der den wesentlichen Teil der Businesslogik enthält. Das Contracts-Projekt enthält die ServiceContracts und DataContracts. Das Client Projekt ist eine WPF Applikation mit einer Service Referenz auf den Businessobjekt Service.
Businesslogik: Für jede Entity werden eine Klasse im LinqToSql Objekt Modell (dbml file), eine DataContract Klasse, ein Repository (Entity factory) und ein Translator (übersetzt Entity in DataContract bzw. vice versa) benötigt. Diese Infrastruktur wird auf Wunsch generiert. Jedes generierte Repository ist von einem Basis Repository abgeleitet (Generic Repository, BusinessObject Repository, …). Das gleiche gilt für die anderen generierten Klassen. Etwa bei Wahl des Templates „Business Object“ wird das neue Repository vom BusinessObject Repository und der DataContract vom Basis DataContract „Business Object“ abgeleitet. Bei der Entity Klasse wird in diesem Fall das Interface IBusinessObject implementiert.

Für die Erzeugung dieser Infrastruktur gibt es den OCF Entity Wizard. Über den Menüeintrag „Create OCF Entity“ im Kontextmenü des Service Projekts startet man den Wizard. Sollen die Entity Klasse als auch die Tabelle in der Datenbank automatisch erzeugt werden, wählt man „Create new entity“. Im nächsten Schirm wählt man den Namen der neuen Entity, den Entity Typ (Objekttyp Template) und optional zusätzliche Felder aus. Es gibt zur Zeit fünf Entity Typen: Base Object, Archive Object, Business Object, Base Document und Business Case.

Mit Abschluss des Wizards werden die neuen Klassen erzeugt und man kann loslegen mit der Implementierung der eigenen Businesslogik.
Mehr dazu auf http://www.lieberlieber.com/Ocf.
Dienstag, Dezember 21st, 2010 | by Franz Kalchmair | Posted in .NET Framework, C#, Open Components Framework, WPF | 1 Comment »
Ein Medienbruch ist bei einem Arbeitsprozess immer eine Herausforderung. Aus rechtlichen oder technischen Gründen ist eine persönliche Unterschrift manchmal unumgänglich. Das unterschriebene Dokument soll jedoch ohne Aufwand wieder in den elektronischen Arbeitsprozess zurückgeführt werden können.
Ocf|Recognition löst diese Herausforderung mit QrCodes. Auf das gewünschte Dokument wird an einer definierten Position ein QrCode aufgebracht. Dieser QrCode stellt im wesentlichen eine eindeutige ID (Guid) dar. Das Dokument kann dann ausgedruckt und unterschrieben werden. Mit Ocf|Recognition lässt sich das unterschriebene Dokument wieder einscannen, wird über den QrCode
wiedererkannt und kann dem entsprechend in den elektronischen Arbeitsprozess wieder zurückgeführt werden.
Freitag, Dezember 3rd, 2010 | by Franz Kalchmair | Posted in Asp.net, LieberLieber Kunden, Open Components Framework | No Comments »
LieberLieber stellt mit dem Ocf|OnlineDms ein Portal zur Verfügung über das Kunden Zugriff auf vertrauliche Dokumente und Daten haben. Dokumente können hierbei Projekt bezogen auch hochgeladen werden.
Der Zugriff ist auf mehreren Ebenen abgesichert. Damit ist gewährleistet, dass die Vertraulichkeit unbedingt gewahrt bleibt.
Url: https://demo.lieberlieber.com/Ocf.OnlineDms.Client
Freitag, November 19th, 2010 | by Franz Kalchmair | Posted in Open Components Framework | No Comments »
LieberLieber präsentiert auf dieser Veranstaltung OCF einem größeren Publikum. Wir wollen OCF als positive Alternative zu herkömmlichen E-Government-Systemen positionieren.
Informationsmaterial:
Montag, Oktober 11th, 2010 | by Franz Kalchmair | Posted in Open Components Framework | 1 Comment »
Das Open Components Framework – kurz OCF – ist ein LieberLIeber Produkt zur Entwicklung von eGovernment Lösungen. Es besteht aus einer größeren Zahl von Komponenten, die durch einen einfachen Mechanismus kombiniert werden können.
OCF|Sign – der OCF BescheidSignierer – ist die neueste OCF Komponente. Damit wird das digitale Signieren von behördlichen Dokumenten ermöglicht. Word und Pdf Dokumente können mit einer sogenannten Amtssignatur versehen werden. Benötigt wird ein Chipkartenleser (Klasse 2) und eine e-Card mit aktivierter Bürgerkarten-Funktion.
Die Komponente gibt es als Word 2007 Add-In und als eigenständiges Tool, kann aber auch in OCF basierte Lösungen eingebaut werden.
LieberLieber stellt diese Komponente Österreichs Gemeinden frei zur Verfügung.
Download
Links: