General Actions:
Log-in
Wiki
»
Space:
Shept
»
Page:
About
Search
Page Actions:
Export
▼
:
Export as PDF
Export as RTF
Export as HTML
More actions
▼
:
Print preview
View Source
Shept
»
About
Wiki source code of
About
Show line numbers
{{include document="Shept.Header"/}} = About = Shept is a library meant to make development of data entry web applications easier by introducing data grids for data entry as a primary input element. It allows the concatenation of those elements in a simple fashion inspired by what used to be a standard in 4GL tools for building client server apps in the 90's. In technical terms shept is a thin layer closely integrated with the spring framework and hibernate. As such it is also a documentation project about building data centric web applications with these major opens source projects and provides templates and online demo applications to give you a quick start. Shept is short for * [[**Spring**>>http://www.springsource.org]] The core application building java toolset * [[**Hibernate**>>http://www.hibernate.org]] The core object relational layer and toolset * [[**Eclipse**>>http://www.eclipse.org]] as the development environment * [[**Postgres**>>http://www.postgresql.org]] as the industry strength open source database * [[**Tomcat**>>http://tomcat.apache.org]] as the industry standard web application server All of these are Open Source heavy weights with a long history and huge reputation in the world of Open Source Development frameworks and Tools. They are widely used and heavily documented and all have a large community of enthusiastic supporters worldwide. Shept has been under development since 2007. It started as a proprietary library and is used in a couple custom web projects so far. Although it introduces new concepts it is more a pragmatic than a generic solution and its APIs are considered to be stable to a large extent. =Use cases= * Migrate any legacy data driven project (e.g. 'client server') into the web * Migrate any kind of vendor specific data driven project to Open Source * Merge into your existing Spring-Hibernate project for RAD features * Building administrative frontends to community projects * Creating data entry wizards = Motivation = In my almost 30 years of experience working as a freelance consultant I had the chance and burdon to work with a variety of development tools and frameworks and in project teams from 1 to 100+ devlopers head count often as a programmer and sometimes as teamleader and manager. When diving into Java in general and particularly into Spring and Hibernate a couple of years ago i was both exited and disappointed with what i saw. Having worked ago in projects with tools like MS Access and PowerBuilder and as well with Smalltalk OO-Frameworks as WindowBuilder all this new stuff was very different from working with those RAD tools where the sheer focus was on getting countable results real soon. However these tools always came along with a price. In contrast to the immediate working results stood the effort to maintain a consistent behaviour when the project becomes larger and larger. In general there was simply no layer to define cross cutting behaviour such as transactions, project wide error handling because of the absence of an extendible true object oriented layer. Once your project got a certain size it sooner or later became a copy and paste mess turning its initial productivity advantage into the opposite. This of cause is not the case with the long established object oriented frameworks as Spring and Hibernate. However both lack a decent overall development cycle and this is where shept drops in bringing some 4GL concepts into the OO world.