Archiv des Autors: Andreas Schneider

Visual Studio Lightswitch zeigt meine DB Views nicht an?!

Das einbinden von Datenquellen (z.b. eine bestehende Datenbank) ist in Visual Studio sehr einfach möglich. Umso verwunderter ist man, wenn im nächsten Schritt nur einige oder keine Datenbank Views zu Auswahl angezeigt werden.

image

Was ist die Ursache?

VS Lightswitch 2011 zeigt nur Datenbank Views an, wenn diese einen Primary Key- oder mindestens eine Not Nullable Spalte enthalten (welche LS dann intern als Key nutzen kann). Alle anderen Views werden ohne weitere Meldung ausgeblendet.

Praxistauglicher fände ich den View als Readonly zu Kennzeichen, damit stände dem Einsatz nichts mehr im Wege. Leider hat Microsoft das anders gesehen Zwinkerndes Smiley

Welche Möglichkeiten hat man trotzdem an den VIEW zu kommen? Oft ist an eine Änderung des Views nicht zu denken, wenn z.b. eine Lightswitch Applikation auf einer bestehenden Datenbank basiert und der DB Admin nur ein müdes lächeln für den Änderungswunsch übrig hat…

Hier heißt die Lösung WCF RIA Services! Ein Beispiel folgt das nächste mal.

Zwei Artikel im MSDN Magazine über Visual Studio Lightswitch

In der August Ausgabe 2011 des MSDN Magazins sind zwei Artikel über Microsoft Visual Studio Lightswitch:

Build Business Applications with Visual Studio LightSwitch: In diesem Artikel werden die Basics von Visual Studio Lightswitch vorgestellt.

Advanced Programming Made Easy With Visual Studio LightSwitch: Darin sind keine brandneuen Tipps & Tricks, es ist das bekannte Contoso Construction Application Demo von Beth Massi in einen Artikel verpackt. Wer die Demo nicht kennt sollte rein schnuppern, es lohnt sich. Die komplette Beispiel App steht im Source Code zur Verfügung.

Features der Beispiel App:

  • A “Home screen” with static images and text similar to the Course Manager sample
  • Personalization with My Appointments displayed on log in
  • “Show Map..” links under the addresses in data grids
  • Picture editors
  • Reporting via COM interop to Word
  • Import data from Excel using the Excel Importer Extension
  • Composite LINQ queries to retrieve/aggregate data
  • Custom report filter using the Advanced Filter Control
  • Emailing appointments via SMTP using iCal format in response to events on the save pipeline

Hier gibt es auch ein Video zu diesem Beispiel:

Anbieter “LightswitchApplication” wurde nicht gefunden.

Wenn das deployen eines Lightswitch Packages mit folgendem Fehler abbricht: Anbieter “LightswitchApplication” wurde nicht gefunden

Oder auch: “Could not find the provider ‚LightSwitchApplication‘. Please verify that you’ve entered the name correctly”

lightswitch_app_not_found

Dann kann die Ursache sein das auf dem Ziel Rechner (Windows Server 2008 R2) das Service Pack 1 (SP1) nicht installiert ist. Nach einem Update auf das SP1 konnte ich die Anwendung problemlos deployen.

[UPDATE]

Im MS Lightswitch Forum wurde auch über diesen Fehler diskutiert. Dort hat ein User berichtet das das Problem durch entfernen einer Checkbox gelöst werden konnte.

Beim erzeugen einer 3 Tier Application hat man die Möglichkeit über das Setzen einer Checkbox mitzuteilen ob die Notwendigen Voraussetzung für das Lightswitch Hosting auf dem Server erfüllt sind oder eben nicht. Die Option/Checkbox heißt in der deutschen Version: “Auf dem IIS-Server sind die erforderlichen Komponente für die Bereitstellung von Lightswitch Applikationen installiert” (unten gelb markiert) und ist zu finden wenn man den PUBLISH – Assistent startet:

image

Im beschriebenen Fall hat das entfernen der Checkbox das Problem gelöst.

Visual Studio Lightswitch und die Connetionsstrings

Wenn nach den ersten Schritten mit Visual Studio Lightswitch eine Anwendung entstanden ist, steht man irgendwann ggf. vor Aufgabe diese auf einem IIS zu deployen. Doch das klingt leichter als es ist wenn man mit mehreren Datenquellen arbeitet. Ich beschreibe euch die Bedeutung der einzelnen Connectionstrings und wie diese zu konfigurieren sind.

Die folgenden Screenshots sind beim deployen einer Anwendung entstanden die im 3 Tier betrieb läuft, also auf dem IIS gehostet wird. Die Anwendung nutzt zwei (SQL Server) Datenquellen und wird mit Windows-Authentifizierung betrieben.

Im weiteren Verlauf beschreibe ich wie eine Lightswitch App als Package in den IIS importiert wird. Doch wie erzeugt man ein solches Packages?

Dazu wählt man beim “Assistent zum Veröffentlichen von Lightswitch-Anwendungen” auf dem Screen “Ausgabe veröffentlichen” die Option “Paket auf Datenträger erstellen”

image

Möchte man nun ein solches Paket im IIS einlesen wird man zwangsläufig mit folgendem Dialog konfrontiert:

connection_dialog_small

Im folgenden nochmal der gleiche Dialog, lediglich auf den inneren Bereich beschränkt und alle Eingabe mit einer Nummer versehen:

connection_dialog

1) Connection Datenbankverbindung die zur Erzeugung der “Application Database” verwendet wird. Wird nur zum deploy Zeitpunkt verwendet! Die Application Database ist jene Datenbank in der Lightswitch die Authentifizierung verwaltet. Es kann keine Integrierte Sicherheit verwenden werden!

Mit den folgenden Daten wird die Verbindung zur Application Database zur Laufzeit aufgebaut (2-5):

2) DatabaseServer Server für die Application Database (muss zwingend der gleiche sein wie aus 1)! Logisch sonst wird die Verdingung zur Laufzeit zu einem anderen Server aufgebaut als zu jenem der die Installation abbekommen hat Zwinkerndes Smiley

3) DatabaseName der Application Database (muss zwingend der gleiche sein wie aus 1)!

4) DatabaseUserName UserName der sich zur Application Database zur Laufzeit verbindet.

5) DatabaseUserPassword Passwort zu UserName

Je nach Anzahl genutzter Datenquellen im Lightswitch Projekt, werden entsprechende Connectionsstrings gelistet (die Anwendung die für den Screenshot herhalten musste nutzt zwei Datenquellen 6a & 6b)

6a) ConnectionString Hinter dieser Datenverbindung sind die echten Daten zu finden. Alles anderen bis hierher diente nur Lightswitch selbst, das hier sind Deine Daten. Wenn die Anwendung nach der Installation z.b die Anmeldung erlaubt, aber keine Applikationsdaten anzeigt (Red X Symptom), ist es hilfreich diese Datenverbindung(gen) mit dem SQL Server Manager zu überprüfen.

6b) ConnectionString – wie oben

7) Anwendungspfad Unter diesem Pfad ist die Anwendung zu erreichen, z.b. http://<your default website>/<Anwendungspfad>

8) Application Administrator User Name Dieser User darf nach der Installation als EINZIGER die Anwendung ausführen. Er die Möglichkeit weitere Anwender über die Applikation zu berechtigen.

Visual Studio Lightswitch Server prerequisites

Wer seine Lightswitch Application deployen möchte benötigt auf den Ziel Server die Visual Studio Lightswitch Server prerequisites. Zur Installation dient der Webplatform-Installer:

clip_image002

Leider zeigt der Weplatform-Installer derzeit (kurz nach Veröffentlichung der Final Release) lediglich die Beta Version an, allerdings deutet das Veröffentlichungsdatum auf eine Aktualisierung und das Final Release hin. Also… fix die Beta2 Version deinstalliert und die “aktuelle” vom 26.07.2011 installiert.

Ich kann berichten: Es läuft, auch konnte ich keine Probleme von Apps feststellen, die noch unter der Beta2 entwickelt wurden. Netterweise laufen auch Anwendungen die mit dem Final Release erstellt wurden Zwinkerndes Smiley

VS Lightswitch 2011 Final Release

Nun ist es da! Seit gestern dem 27.07.2011 kann man das Final Release von Microsoft Lightswitch laden. Das habe ich natürlich gemacht, denn die Veröffentlichung der Beta2 liegt nun schon einige Zeit zurück (Mitte März 2011).

Theoretisch sollte nach der Deinstallation der Beta2 und Installation der V1 alles reibungslos funktionieren. Praktisch kam es bei mir zu ein paar kleinen Problemen. Das nervigste war sicherlich das der Screen Designer keine Icons für die Controls anzeigte.

 

Zur Lösung des Problems folgende Ordner löschen:

%LOCALAPPDATA%\Microsoft\VisualStudio\10.0\ComponentModelCache
%LOCALAPPDATA%\Microsoft\VisualStudio\10.0\ManifestCache

Das löschen kann lt. einem MS Test Team Mitarbeiter gefahrlos erfolgen, da der Cache Inhalt bei bedarf beim nächste Build-Prozess neu erstellt wird.

Joomla Ugrade, jetzt endlich ganz einfach möglich?

Ich nutze gerne Joomla um kleinere Webprojekte umzusetzen. image

Auch für die ein oder andere eigene Webseite kommt Joomla zum Einsatz. Leider habe ich bisher neidisch auf die WordPress User schielen müssen wenn ein Joomla Update anstand. Das soll jetzt anders werden! Denn mit Joomla 1.7 verspricht die Entwicklergemeinde

“One-click updates are here”

also genau das richtige für mich! Und Zeit auf Joomla .17 umzusteigen. Los geht’s!

Weiterlesen

Happy Computer

Gestern sind mir alte Computer Zeitschriften in die Hände gefallen. Einige Seiten werde ich in den nächsten Tagen einscannen um sie der Nachwelt zu hinterlassen. Wer weiß, eines Tages kann ich meinen Enkel davon erzählen?! Angefangen habe ich mit einer meiner Lieblingslektüren von damals:

 

Wer ist noch so alt wie ich und kennt die? Zwinkerndes Smiley

Visual Studio Lightswitch

Seit einigen Wochen arbeite ich nun mit der Beta2 von Microsoft Visual Studio Lightswitch und muss sagen die Entwicklung damit macht Spaß. Man erreicht sehr schnell funktionale Ergebnisse, was dazu führt das man sich mit der Entwicklung solcher „Daten getriebener“ Anwendungen nicht länger als unbedingt notwendig beschäftigen muss Zwinkerndes Smiley

So beschreibt Microsoft sein neues Entwicklungswerkzeug:

Visual Studio LightSwitch ist ein flexibles Entwicklungswerkzeug, das technische Power User und pragmatische Programmierer in die Lage versetzt, schnell und einfach Geschäftsanwendungen zu erstellen. Diese sehen professionell aus und können einfach und schnell auf Desktopcomputern, im Web und in der Cloud bereitgestellt werden.

Eingabemaske

 

Visual Studio LightSwitch ermöglicht es Benutzern aller Fertigkeitsstufen, schnell leistungsfähige und benutzerfreundliche Geschäftsanwendungen zu erstellen und dafür eine intuitive Entwicklungsumgebung zu nutzen. Mit Features für das Design von Benutzerschnittstellen und den Entwicklungswerkzeugen von Visual Studio LightSwitch können Sie schnell und einfach eine benutzerdefinierte Anwendung erstellen, die aussieht als wäre sie von einem professionellen Designer gestaltet worden.

Wobei hier keine neuen Systeme bzw. Laufzeitumgebungen erfunden und eingesetzt wurden… bei denen man sich fragen muss: Ist das Reif für die Produktion?!. Stattdessen setzt Microsoft auf bewährtes aus seinem Technology-Stack: WCF-RIA-Services, Silverlight 4.0 und das Entity Framework.

Business integration

Hier gibt gab es einige Erweiterungen für die Business Integration Engine(kurz BIE)

Was ist den BIE???

BIE ist ein Java basierender Integration Server. Er erlaubt es verschiedene Quellen anzuzapfen die Daten zu transformieren und einem Ziel zur Verfügung zu stellen. Vergleichbar ist das ganze mit z.b. mit dem Microsoft Biztalk Server.

Der etwas sperrige vollständige Name lautete: Brunswick WDI’s Business Integration Engine und geht auf den Hersteller Brunswick zurück der das Produkt ca. 2003 auf den Markt brachte. Besucht man heute deren Webseite landet man auf einem Russischen Angebot, welches nichts mehr mit dem eigentlichen Firmenauftritt gemein hat. Aber Dank der Wayback Maschine kann man sich anschauen wie die Seite damals aussah:

image

Die Leistungspalette und möglichen Anbindungen waren umfangreich:

SOAP
Simple Object Access Protocol (SOAP) 1.1 is fully supported by BIE.

EDI X12
Natively read and write EDI X12 documents for use with EDI Value-Added Network Services (VANS) and other EDI applications.

SMTP
Send data using Simple Mail Transfer Protocol (SMTP).

HTTP and HTTPS
Send and receive data with trading partners by using HTTP and securely over the Internet using HTTPS.

XSLT
Transform documents to virtually any format using Extensible Stylesheet Language Transformations (XSLT).

XML Web Services
Use XML web services to exchange data with modern business applications.

FTP
Send and receive documents easily to almost any system using the widely support File Transfer Protocol (FTP).

HIPAA
BIE supports the documents, protocols, and security standards defined by the 1996 Health Insurance Portability and Accountability Act (HIPAA).

Plug-in API
A rich set of pluggable API’s exist to extend BIE to support any protocol, document format, validation, or virtually anything else you might need.

Der Hersteller verkaufte das Open Source Produkt damals an Redberri die es überarbeitet in einer kommerziellen Variante auf den Markt brachten und auch heute noch vertreiben. Einige der ehemalige Entwickler bildeten den fork des beliebten Integration Servers auf Sourceforge. Leider wird dieser scheinbar nicht mehr benutzt bzw. weiterentwickelt.