Softwareentwicklung

jCaptcha

Um Webdienste vor Missbrauch durch Webbots zu schutz wer­den CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) ein­ge­setzt. Eine java­ba­sierte Lösung, die ein­fach zu inte­grie­ren und imple­men­tie­ren ist, bie­tet das Framework jCaptcha an (http://jcaptcha.sourceforge.net). Es steht unter LGPL und bie­tet eine Reihe vor­de­fi­nier­ter Captchaimages an. Im fol­gen­den möchte ich bei­spiel­haft erläu­tern, wel­che Schritte nötig sind, um eine Captchalösung mit­hilfe des jCapchta-Frameworks in eine bestehende J2EE Anwendung einzubinden.

Formular URLs für Sharepoint Inhaltstypen anpassen

Wenn man in Sharepoint einen benut­zer­de­fi­nier­ten Inhaltstyp erstellt und die­sen einer Liste zuweist, muss man sich im Idealfall nicht um die Formulare für das Anlegen, Anzeigen und Editieren der Listeneinträge küm­mern - dies erle­digt Sharepoint anhand der zum Inhaltstyp zuge­hö­ri­gen Spalten freund­li­cher­weise auto­ma­tisch für uns. Nun kann es aber pas­sie­ren, dass wir mit dem von Sharepoint gene­rier­ten Standardformular nicht zufrie­den sind…

Webservice mit Apache Axis2

Das Webservice Framework Axis2 von Apache steht seit 2005 in der Version 2 zur Verfügung und bie­tet einige Vorteile gegen­über der Vorgängerversion. Aus mei­ner Sicht sind es vor allem Performance Steigerung, höhere Flexibilität beim Deployment von Services und eine ver­bes­serte Unterstützung von aktu­el­len Standards, die einen Einsatz von Axis2 sinn­voll macht. Anhand eines Beispieles soll im Folgenden schritt­weise gezeigt wer­den, wie…

User Controls dyna­misch zur Laufzeit in ein Web Form einbinden

Web User Controls (*.ascx) kann man zur Designzeit sehr bequem per Drag & Drop auf ein Web Form (*.aspx) zie­hen - den Rest erle­digt Visual Studio für uns.Wenn man das Gleiche dyna­misch zur Laufzeit errei­chen möchte (weil man z.B. unter­schied­li­che ascx-Dateien ver­wen­den oder ein­und­die­selbe ascx-Datei mehr­mals nach­ein­an­der laden will), kann man das fol­gen­der­ma­ßen bewerk­stel­li­gen: Unser User Control heißt "SampleControl" und…

Verwenden von Sharepoint Listen als Datenquellen für CheckBox Lists oder RadioButton Lists

Wer für Sharepoint Web Forms und/oder Controls ent­wi­ckelt, hatte viel­leicht auch schon ein­mal das Bedürfnis, eine Sharepoint Liste als Datenquelle für z.B. eine RadioButton List zu ver­wen­den. Dies lässt sich glück­li­cher­weise mit gerin­gem Aufwand umset­zen: Hier ist erst ein­mal unsere Sharepoint Beispielliste: Und hier die RadioButton List, an die wir die Liste bin­den wol­len: Wichtig sind hier die Properties DataTextField…

Deployment von Sharepoint-Anwendungen zur Entwicklungszeit

Mit den Visual-Studio-Erweiterungen für Sharepoint wird der Entwickler schon sehr gut beim Deployment auf sei­nem Entwicklungssystem unter­stützt. Ein Nachteil ist jedoch, dass der Deployment-Prozess recht lang dau­ert. Der Grund ist, dass der Workflow in eine Solution ver­packt und deployed wird. Um das Deployment wäh­rend der Entwicklung zu beschleu­ni­gen, kann direkt nach dem Build eine Batch-Datei aus­ge­führt wer­den, die diese Aufgabe…

Remote Desktop mit meh­re­ren Monitoren verwenden

Wer unter Windows mit vir­tu­el­len Maschinen arbei­tet, hat ver­mut­lich öfter ein­mal eine Remote Desktop Verbindung offen und ver­wen­det zwei Monitore. Mit Windows Vista bzw. Terminal Services Client 6.0 (für XPSP2 und Server 2003) (KB925876) gibt es nun eine Option, die den Remote Desktop über alle ange­schlos­se­nen Montiore aus­dehnt: mstsc /span

Versionsbezogener Support in .NET

Damit man gezielt ver­si­ons­be­zo­ge­nen Support leis­ten kann, muss der Kunde die aktu­elle Version z.B. eines SharePoint Webparts mit­tei­len kön­nen. Es bie­tet sich an, dafür die Version der Assembly zu ver­wen­den. Per Default ist diese jedoch auf [assem­bly: AssemblyVersion("1.0.0.0")] ein­ge­stellt und ändert sich nicht von allein. Man kann durch Einsatz von Sternchen diese Versionierung auto­ma­ti­sie­ren. Visual Studio zählt dann von selbst…

Datenbankschemata mit Schemaspy und Dot (Graphviz) erstellen

Um schnell Datenbankschemata zu visua­li­sie­ren bie­tet sich Schemaspy (ver­öf­fent­licht unter LGPL) an. Es wird auf der Kommandozeile zum Beispiel wie folgt auf­ge­ru­fen: java -jar schemaSpy.jar -cp postgresql-8.1-408.jdbc3.jar -t pgsql -db beispiel_db -u improve -s public -host bei­spiel­port -port 5431 -o . Damit die Generierung der Tabellen und Diagramme erfolg­reich ver­läuft, müs­sen 2 Bedingungen erfüllt wer­den: ein Treiber für den entsprechenden…

Application Pool neu star­ten als Alternative zu IISRESET

Wer mit Visual Studio.Net Sharepoint Projekte (Webparts, Workflows etc.) ent­wi­ckelt, weiß wie oft man wäh­rend der Entwicklung ein IISRESET machen muss und auch, dass dies immer eine Weilchen Zeit in Anspruch nimmt. Besonders inter­es­sant wird es natür­lich, wenn das IISRESET auf einem System aus­ge­führt wird, auf dem auch noch andere Nutzer arbei­ten, denen dann förm­lich der IIS "unter den Füßen…

Die Code Quality in Java Projekten erhal­ten (Teil II) …

Integration von PMD Rule Sets in den Build Prozess. Teil I Das im ers­ten Beitrag erwähnte Maven Plugin 'PMD' soll nun genauer vor­ge­stellt wer­den. Nachdem man das Maven Plugin instal­liert hat und die Einstellungen maven.pmd.failonerror=true maven.pmd.failonruleviolation=true in der project.properties Datei eines Maven (1) Projektes vor­ge­nom­men hat, kann der Test der Sourcen des Projektes durch den Aufruf maven pmd:report gestar­tet werden.…

Die Code Quality in Java Projekten erhal­ten (Teil I) …

Maven basierte Build-Prozesse haben sich in den letz­ten Jahren zuneh­mend zur Erzeugung der Entwicklungs- und Releasemodule eta­bliert. Neben die­ser Aufgabe bie­ten sie auf sehr einfacheWeise die Möglichkeit, Reports (z.B. JUnit, PMD, u.a.) und Dokumentationen (Java Doc) der Softwaremodule zu erzeu­gen. Vor allem die Checkstyle, PMD und FindBugs - Reports stel­len wich­tige Informationen bereit, die Aufschluss über die Qualität des Source…

JAXB2-Bindings aus einer DTD mit Typmapping mit Maven2 generieren

Nach dem gest­ri­gen Erfolg folgte heute eine Anforderung, die den Wechsel zu einem ande­ren Maven2-Plugin und einer neuen Mapping-Datei führte. Die neue Anforderung war, dass Attribute aus der DTD auf andere Typen als String gemappt wer­den sol­len. Da DTDs keine Typisierung wie XML-Schema ken­nen, muss dies mit einem Mapping-File gesche­hen. Das Maven2-Plugin aus dem gest­ri­gen Artikel war lei­der mit dem…

Generierung von JAXB2-Bindings aus einer DTD mit Maven2

Heute muss­ten aus einer exis­tie­ren­den DTD ein paar JAXB2-Binding-Klassen gene­riert wer­den. Nach eini­gem pro­bie­ren ist dies mit fol­gen­der pom.xml und einem pas­sen­den Binding-File gelun­gen. Hier die pom.xml: <?xml version="1.0" encoding="UTF-8"?> <pro­ject xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > <modelVersion>4.0.0</modelVersion> <groupId>de.mms-dresden</groupId> <artifactId>hsp-search-gen</artifactId> <version>0.0.1-SNAPSHOT</version> <description>Generierter Code fuer die Suche im Hilfeportal</description> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxb2-maven-plugin</artifactId> <exe­cu­ti­ons> <exe­cu­tion> <goals> <goal>xjc</goal> </goals> </execution> </executions> <con­fi­gu­ra­tion>…

JMeter: Werte aus Server Response auslesen

Im Verlauf eines JMeter Tests kann es not­wen­dig sein, dyna­mi­sche Inhalte einer Server Response (Header, Body, URL) aus­zu­le­sen und als Parameter für eine wei­ter Anfrage zu über­neh­men. Dies ist zum Beispiel erfor­der­lich, wenn inner­halb von Formlaren Werte von HIDDEN-Feldern dyna­misch gene­riert wer­den. Für die­sen Zweck ver­fügt JMeter über einen Post-Processor, der als Regular Expression Extractor bezeich­net wird. Er lässt sich…

1 4 5