Well done Deacon!

On Fri, Jul 15, 2016 at 7:27 PM, César Camilo Lugo Marcos <
cesar.l...@sisorg.com.mx> wrote:

> Deacon,
>
> What a great summary, congratulations!
>
> I want to take the opportunity to add some stuff:
>
> More great stuff:
> - We have tested our Apache ISIS application in an AWS cloud load
> balanced environment including some level of volume concurrency testing.
> So far so good. We are expecting to have millions of users, and so far
> it looks like, with proper load balancing and fail-over, it will do the
> job.
>
> - We are using it in conjunction with mobile applications leveraging the
> flexibility and automation of N.O. restful services. It's just amazing
> how it simplifies RESTful services consumption in a mobile environment,
> particularly the ability to "join" results with the xo prefix.
>
> More wish list:
> - Mutable collections grids in the wicket viewer.
> - Image collections shown as images.
> - Configurable UI filters by domain entities, allowing to filter by
> multiple attributes, with multiple types of filters (radio, range,
> boolean condition).
> - More business needs oriented add-ons, particularly if they follow
> industry-standards through the use of ontologies. So far the ones
> available are more technical, and they do a great job, like maps, audit
> and multi-tenant.
>
> I think the RO domain model and the restful services are quite mature
> and powerful, and the wicket viewer is a little behind but evolving in
> the right direction. Also, Dan mentioned that eventually they will add
> some more powerful viewers, which sounds quite exciting!.
>
> César.
>
> On Fri, 2016-07-15 at 18:11 +0200, Deacon Frost wrote:
> > I successfully delivered my first "real" Apache Isis application today --
> > YAY!! -- and would like to share my experience.
> >
> > My background: I am a reasonably experienced developer proficient in
> custom
> > application development in C#, Java, Javascript, Python etc. but never
> > touched Apache Isis nor Apache Wicket nor DataNucleus before, my Java
> chops
> > are a bit rusty and I am a complete Maven noob.
> >
> > I have been following NakedObjects since the early 2000's and am quite
> > intrigued by its philosophy and promises but never mad the "plunge" to
> > actually implement a project for a client with it. I checked out Apache
> > Isis on and off (hey, I even bought and enjoyed Dan's book in 2009 or so)
> > but - without wanting to sound blasé - the UI was never quite up to my
> > taste (the .NET-Version was even worse). But the recent changes to the
> look
> > and feel of the Bootstrap Wicket interface made me confident to finally
> be
> > able to "sell" it to clients.
> >
> > The target application is - in a nutshell - an internal web-application
> for
> > a government department to define and configure traffic webcams (~1000),
> > locate them interactively on a map, display their latest images, link
> them
> > to their road network data etc. Nothing too complex but the right size to
> > try something new, I guess.
> >
> > The great:
> > I implemented a working prototype of the application in under a week(!),
> > which already looked very polished and had lots of "bells and whistles",
> > like a Google Maps interface, display of live images, Excel-export,
> > auditing-service, REST-interface etc.. The client was positively
> surprised
> > by the polished looks and richness of features and went for it. So,
> within
> > two weeks after that I was able to implement the complete application,
> > reusing most of the work implemented in the prototype.
> >
> > I had to implement two Isis wicket components:
> > - Display of a map (Locatable) based on OpenStreetMap:
> >  I had trouble getting the Google map interface to work in the client's
> > environment. It kept complaining about application keys etc. and wasn't
> > usable at all. Thanks to the "wicket stuff" implementation of openlayers3
> > and a shameless "raid" of Dan's gmap3-isis-component I was able to build
> an
> > openlayers3-isis-component myself, despite my utter isis/wicket
> noob-ness.
> > - Display of static image resources:
> >  The "standard" Blob-interface didn't cut it for me because it only
> > displays a thumbnail image (which was even of a bigger byte size and
> lower
> > resolution than the original) of an image resource from memory/db. I was
> > able to build an Isis ExternalImageUrl-component by copying much of the
> > Blob/Clob-component but using static URLs, which works flawlessly for
> > displaying the original images based on an "ExternalImageUrl"-Property of
> > the entity.
> >
> > (Once the dust has settled I want to contribute the openlayers3- and
> static
> > image components. Maybe one of you guys can provide me with a little
> > guidance how to set that up...)
> >
> > I had some minor questions that got answered instantly by Dan and Co on
> the
> > mailing list. Thanks again!
> >
> > The ability to define aspects of the interface in the XML-layout files is
> > great (despite some minor quirks with the translation)! Studying the
> > TodoApp helps a lot in this regard.
> >
> > The not-so-great:
> >
> > I think the code base is still quite dynamic, which is good in a way
> > because it gets actively developed (does Dan ever sleep? ;)) but it's
> also
> > difficult for a noob to jump in. I happened to work with the sources
> right
> > before the 1.12.2 release which had some annoying "surface" bugs and in
> > 1.13-SNAPSHOT some subtleties of the Isis-components implementation
> already
> > changed.
> > I18ln:
> > There are lots of labels hard-coded in English (I'm looking at you:
> > bookmarks-display, list pager, signin fields, excel download etc.) which
> > can be a real show stopper for certain clients in certain locales
> (France,
> > Germany, ...). Plus, if you want to fix these kinds of errors you need to
> > understand the Wicket-way of doing this plus the way Isis goes about it
> as
> > well. And then do it for the contribs also. Surprisingly complex for a
> > beginner even if they are by themselves all just small trivial fixes.
> > Documentation:
> > All in all the documentation is great and better than much of the other
> > stuff out there, but a lot of details are missing to really understand
> the
> > concepts behind value objects, enum types, facets, objects not
> originating
> > from a database and the like.
> > Furthermore, there is not a lot of info or "hand holding" about how to
> take
> > an application from prototyping to production. I had to spend a lot of
> time
> > figuring out how to get a jetty runner working with an "uberjar" in
> > headless mode as a service with "external" configuration (the internal
> Isis
> > Server didn't work for me at all, but that might also just due to my
> > inexperience).
> >
> > Wish list:
> > - Better out-of-the-box handling of the display of external/static
> > resources (Images, IFrames(!) etc.)
> > - A component for pageable display of entity collections in a grid
> > - A tree component
> >
> > All in all I definitely see Apache Isis as a great and clean way of doing
> > these kinds of applications and I want to encourage people to just try it
> > out for a project and see for themselves -- IMHO it's quite low risk and
> > lots of fun!, especially if you can go with the existing components. It
> > gives me quite a bit of confidence that even adding substantial new
> > functionality - once you get the model right - just works. (Guess I'm
> > preaching to the choir here here anyway ;)
> >
> > Cheers and a have a great weekend,
>
>

Reply via email to