193 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
High Performance REST Applications (3) – Importing the Starter Project
Mon, Apr 24th 2017 109
High Performance REST Applications (2) – Dev Environment
Sun, Apr 23rd 2017 237
High Performance REST Applications (1) – Intro
Fri, Apr 21st 2017 276
Re: Domino REST performance analysis
Thu, Mar 16th 2017 7
Domino & Java 1.8: Thank you, IBM!
Tue, Mar 14th 2017 11
Domin & REST: Debug your Plugin
Tue, Mar 7th 2017 9
Domino & REST: More about Jackson
Fri, Mar 3rd 2017 15
Top 10
High Performance REST Applications (1) – Intro
Fri, Apr 21st 2017 276
High Performance REST Applications (2) – Dev Environment
Sun, Apr 23rd 2017 237
High Performance REST Applications (3) – Importing the Starter Project
Mon, Apr 24th 2017 109
Domino & REST: More about Jackson
Fri, Mar 3rd 2017 15
Domino & Java 1.8: Thank you, IBM!
Tue, Mar 14th 2017 11
Security: Usefull HTTP Response Headers
Wed, Jan 14th 2015 10
Kurze Werbeunterbrechung
Tue, Mar 8th 2016 10
XPages: WebContent Files (3) – Create a Minimizer Servlet
Thu, Nov 27th 2014 9
Hardening SSH vs. Eclipse RSE
Tue, Jan 13th 2015 9
HowTo: Vaadin on Domino (4)
Mon, Jan 26th 2015 9


Sven Hasselbach
Blog Title blog@hasselba.ch
Blog URL http://blog.hasselba.ch
RSS Feed http://hasselba.ch/blog/?feed=rss2
Validate Feed feedvalidator.org or validator.w3.org
Feed Last Checked Apr 24, 2017 9:03:32 AM EST. Realtime Update:
Location Wiesbaden, Hessen, Germany


Recent Blog Posts
109
High Performance REST Applications (3) – Importing the Starter Project
Mon, Apr 24th 2017 9:03a   Sven Hasselbach
Now you can import the projects required from Git. First, go to „File > Import…“ Import Project Then select „Projects from Git“ Projects from Git and „Clone URI“ to clone an existing repository: Clone existing respository To get the URI, you have to open https://github.com/hasselbach/ and select the repository „ch.hasselba.concurrent„. Click the „Clone or download„-Button and copy the URI from the opening box: Get the repositor
237
High Performance REST Applications (2) – Dev Environment
Sun, Apr 23rd 2017 8:55a   Sven Hasselbach
Before you can start developing a Servlet as an OSGi Plugins, you must set up a development environment first. To do this, download Eclipse IDE (Eclipse IDE for Java EE Developers) and XPages SDK from OpenNTF (The XPages SDK is a helper to create the JRE environment and the Target Platform). For development it is the best to have a (local) development server, because during development you might want to restart and/or modify it, and debugging is a lot easier if have control over the whole server
276
High Performance REST Applications (1) – Intro
Fri, Apr 21st 2017 9:33a   Sven Hasselbach
This is a new serie about developing high performance REST applications on top of Domino. It will contain my presentations from SNoUG and EntwicklerCamp this year and descripe all required steps to develop, build and deploy these servlets on a basic level. The code used in this serie is already available at GitHub: https://github.com/hasselbach/domino-rest-servlet/tree/highperformance https://github.com/hasselbach/ch.hasselba.concurrent (The high performance part is in a branch of my example D
7
Re: Domino REST performance analysis
Thu, Mar 16th 2017 8:51p   Sven Hasselbach
I have created a Quick-n-Dirty performance test for Csaba’s „10K record test“: Loading time 200 ms overall, 60 ms TTFB. Do you want to know how this works? Feel free to come to SNoUG next week or to Rudi’s EntwicklerCamp and join my sessions.
11
Domino & Java 1.8: Thank you, IBM!
Tue, Mar 14th 2017 1:16p   Sven Hasselbach
For years it was a lot of pain when developing for the Domino platform using Java 1.6 only. But now, Java 1.8 is available, and this allows to use the latest versions for a lot of libraries and development tools. After installing FP8 to the Client, Eclipse allowes to use the Domino JRE in a JavaSE-1.8 environment: This gives access to the latest M2Eclipse plugin (1.7.0). The old version problem when running with JRE 1.6… … is solved: Eclipse Updates? No problem, just do it! Latest
9
Domin & REST: Debug your Plugin
Tue, Mar 7th 2017 11:14a   Sven Hasselbach
When developing OSGi Plugins, you should have your own development server running on your local machine. Not only because of the faster deployment of changes (a new version of a plugin must always deployed with a HTTP restart), but because of the Java debugging posibilities: Only one Eclipse instance can connect to the JVM, and every request processed by the server will start the debugger. If multiple users a accessing the server while you are debugging, your Eclipse will try to debug every inco
15
Domino & REST: More about Jackson
Fri, Mar 3rd 2017 10:16a   Sven Hasselbach
When creating a REST API servlet, Jackson provides a huge list of possibilities to manipulate the JSON data, mostly using annotations. Let’s demonstrate some of them with this little class, which has only two properties: public class Demo { private String foo; private String bar; public String getFoo() { return foo; } public void setFoo(String foo) { this.foo = foo; } public String getBar() { return bar; } public void setBar(String bar) { this.bar = ba
8
Domino & REST: Accessing Domino’s Environment / Check Authentication
Thu, Mar 2nd 2017 11:00a   Sven Hasselbach
If we want to access Domino’s Environment, it is the ContextInfo class which gives us all we need. Everything you need to do to use the class is described in an earlier blog post. The class gives mainly access to the following methods: Method Description getDataDirectory() Path to notes data directory getEnvironmentString(String envName) Returns the environment variable getServerDatabase() The actual database as NAPI object, if any getServerVariable(String varName) Variables
7
Domino & REST: Consuming JSON
Wed, Mar 1st 2017 7:25a   Sven Hasselbach
Consuming JSON is as easy as pie: Just create a new method to the RestApiServlet,  add a @POST annotation, and declare the object you want to the parameters of the method:     @POST     @Path("/helloworld/")     @Consumes(MediaType.APPLICATION_JSON)     public Response postHelloWorld(HelloWorld helloWorld) {         return Response.ok(helloWorld, MediaType.APPLICATION_JSON).build();     } In this example we are using the same URI „/helloworld/„; because
5
Domino & REST: A basic Servlet
Tue, Feb 28th 2017 1:49p   Sven Hasselbach
To have a good starting point when creating RESTful applications on top of Domino, I have created a „Hello World“ example of a JEE Application, based on Apache Wink & Jackson 2.5.0. The Jackson AnnotaionProcessor is registered into Apache Wink application and is enabled by default, the JAXB processor is also included as the secondary AnnotationProcessor. The benefit of this is that only one global ObjectMapper instance is created and is reused, wich allows a better performance as
3
Domino & REST: Listeners for Initialization & Destroying of a Servlet
Mon, Feb 27th 2017 9:15a   Sven Hasselbach
If you need to know when your Servlet is initialized or destroyed, you can use a ServletContextListener in your application. First, create the class AppServletContextListener and implement the javax.servlet.ServletContextListener interface. This provides two methods for capturing the events: contextInitialized and contextDestroyed: package ch.hasselba.servlet; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class AppServletContextListener  
6
Jackson: Skip Objects conditionally
Wed, Feb 8th 2017 7:51a   Sven Hasselbach
I had a simple problem when implementing this brilliant solution in one of my REST applications: As soon I was using @JsonAnyGetter / @JsonAnySetter and the HidableSerializer together, a NPE was thrown during serialization. The Problem occured in Jackson 1.9.13 and even 2.5.0, the latest version usable with the actual Domino JVM. Stack Trace org.codehaus.jackson.map.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: ch.hasselba.Test["[anySetter]"]) null  
7
Entwicklercamp 2017: Meine Vorträge & Hands-On
Thu, Jan 19th 2017 7:51a   Sven Hasselbach
Dieses Jahr spreche ich wieder auf dem Entwicklercamp, und halte neben den Vorträgen auch noch eine Hands-On Session: Track 1 – Session 2: XPages erweitern und ausbauen – Ausgabe 2017 Im Laufe des Jahres 2016 kamen einige Themen hinzu, und dank FP8 wird es wohl auch einige Neuerungen geben, über die man mal reden müsste… Track 4 – Session 3: High-Performance REST Applications Hochperformante REST Schnittstellen entwickeln, die auf dem Domino Server laufen? Der Vor
3
SNoUG 2017: Hochperformante REST Schnittstellen für Domino
Tue, Jan 17th 2017 1:40p   Sven Hasselbach
Dieses Jahr spreche ich zum ersten Mal auf der SNoUG am 22. März diesen Jahres. Wie der Name des Vortrages vermuten lässt, geht es um die Entwicklung hochperformanter REST Schnittstellen auf dem Domino Server, und der gesammelten Erfahrungen der letzten Jahre. Es ehrt mich, auf diese kleine, aber feine Konferenz eingeladen worden zu sein, und ich freue mich auf weitere interessante Vorträge hochkarätiger Sprecher. Zur Registrierung geht es hier entlang.
6
DomiNodeJS: Node.js on Domino
Fri, Aug 26th 2016 7:26a   Sven Hasselbach
A while ago I started a new project which allows a seamless integration of Node.js into the Domino server. The project is hosted on GitHub: https://github.com/hasselbach/dominodejs The Node.js server is running as a DOTS task, and under the hood the J2V8 project is used for the V8 integration. Currently, the project is a pre alpha, and it it is more for fun than for profit. There are a lot of open questions about the architecture, but it shows what cool things can be done with Domino.
2
Aus aktuellem Anlass: Quo vadis, Domino?
Thu, Aug 25th 2016 12:35p   Sven Hasselbach
Schon mal darüber nachgedacht, was nach 2021 kommt? Migrationen dauern lange, sind niemals vollständig, und irgend ein wichtiges Detail wird übersehen. Und in der Zwischenzeit? Gerne biete ich meine Unterstützung an: Bei der Suche nach Alternativen für IBM Notes / Domino, bei Strategien für den Übergang, oder bei der Kopplung an neue Systeme. Einfach mal Kontakt aufnehmen. Gern auch per Mail: contact hasselba.ch
8
Java NAPI: Enable / Disable Recycling of C Handles
Wed, Jul 6th 2016 9:09a   Sven Hasselbach
Initialize Java NAPI com.ibm.domino.napi.c.C.initLibrary( "" ); Disable Recycling com.ibm.domino.napi.c.BackendBridge.setNoRecycle( session, session, true ); Enable Recycling com.ibm.domino.napi.c.BackendBridge.setNoRecycle( session, session, false ); To use these methods in an agent, you have to import some Jars first.
5
XPages & Domino JNA
Fri, Jun 24th 2016 5:57a   Sven Hasselbach
Karsten Lehmann has published a very promising project named „Domino JNA„, which allows access to the underlying IBM Domino/Notes C API from Java. If you want to use the project in a XPages, you have to add some Java permissions to the java.pol file on your server: grant { permission java.util.PropertyPermission "jnidispatch.path", "write"; permission java.util.PropertyPermission "jna.loaded", "write"; } Additionally, you have to import the following JARS from „
7
Vaadin In XPages: A UIComponent for embedding Vaadin applications
Tue, May 3rd 2016 7:19a   Sven Hasselbach
I have created an UIComponent to embed Vaadin applications into XPages. It allows to run both technologies on the same site by adding it to your XPage:                                     XPage                                                                                                             This little example shows the XPage above including the the Adressbook applica




Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition