As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
.NET has codeplex for good sample applications to understand best practices. In Java, the first level of difficulty lies in finding a project with the frameworks you are interested to see implemented. In any case I've been unsuccessful in finding sample applications.
SourceForge.NET has many, but a lot of them are incomplete. Many other samples I find are only covering a CRUD - like Spring web site provides a CRUD, struts 2 provides a CRUD and I found some more here: http://www.learntechnology.net/content/main.jsp
None of them cover an application with decent level of complexity. I'm sure there are such projects, it's just my inability to find them.
Can someone provide the key for the treasure :-)
Edit: I got a comment asking me for specifics, so here it is:
I'm looking for a web application, built with a framework like Struts 2, Spring MVC (any action framework basically), Hibernate / Plain JDBC / JDBC templates in Spring at DAL, and no EJB's please!!
An application like bug tracker, blog template, inventory management etc.. anything that is non-trivial.
a good starting point might be appfuse it is really a sort of boot strap your project kinda thing. Make sure you go for the 'full-source' option at the end of the instructions.
As for features:
Security, with user and admin roles
Sign up
Email templates
How about the Java pet store reference implementation from the J2EE blueprints?
I guess the following link may be useful. It explains how to go about implementing a project using domain driven design
http://dddsample.sourceforge.net/index.html
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
The community reviewed whether to reopen this question 1 year ago and left it closed:
Opinion-based Update the question so it can be answered with facts and citations by editing this post.
I've been learning Spring and I'm really liking what I'm learning, but feel ill-equipped to do anything at the moment. I know Java really well, I'm ok at ant, but I don't know anything about: J2EE, JSP, Servlets, Tomcat, Maven, Hibernate, JPA, and I've never made any kind of website using Java (I've made lots of applications in Java, but all websites I've made were using PHP).
Should I cement some of my knowledge of the "basics" or should I keep slogging away at Spring?
Spring is a monster. It all depends on what part of Spring you are interested in. A good starting point would be the Dependency Injection container, which requires none of the technologies that you are unfamiliar with (the ones from your question).
If you are interested in learning Spring MVC (which it sounds like you might be based on the technologies you mention), I would recommend learning the basics in these (again from your question):
Servlets
JSP
Tomcat (or another web application container)
For Spring MVC I would also look at the idea of RESTful web services.
You can find a (likely) comprehensive list of Spring projects at this link.
I would recommend three things:
Lots of Reading => Spring Documentation in a Single Page
Lots of Coding => You can start off by getting an example Spring / Hibernate project. And then use Spring Tool Suite, which includes many interactive tutorials, and template projects that just work without any coding at all.
Find a Spring User Group next to the place you live. If there is no such group => create one!
It is totally ok that you don't know JSP / Servlets / Tomcat / J(2)EE / etc. Extremely smart people who, for example, write Linux kernel (which is a lot more complex) may not know it as well. The beauty of Spring is that going through it, and reading about best patterns and approaches you'll get all the above. No need to learn J(2)EE separately. Spring is J(2)EE of today.
For a good enterprise developer, I would recommend
a) very very good core java ( including collections, jdbc , threads)
b) servlets
Then I think you can start diving into spring.
If you want to accomplish something quickly to start with, definitely look at JSPs. A JSP is basically an HTML document with some special <% %> tags where you can just shovel in java. It's really entertaining, although nothing you'd want to use for a large-scale application.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I am looking for a off the shelf workflow engine to be used in my Java based web application. Following are my initial requirements -
The engine should have a nice UI to create/manage workflows.
Should work with Oracle database
Provides java api or web service api to interact with workflow from my application so that I can build logic on the workflow.
Ability to define custom business rules.
As of now I am looking at JBoss JBPM and Drools together. Do let me know if you have experience of this or other contenders which I should consider for evaluation?
You could try Activiti. I am personally experimenting on that. It's really easy to install and
use. It's similar to jBPM. So you would not have any difficulty if you are familiar to that.
You could also refer the comparison between them.
Hope this helps you.
yes i agree with you, jBPM is a flexible Business Process Management (BPM) Suite. It makes the bridge between business analysts and developer
and
drools is good and well manged rule engine , i recommend these both to use, but you will not have ready functionality like work with oracle database its individual functionality independent from this
I'd encourage you to check this list of Open Source Workflow Engines in Java
Scientific Workflows : Kepler, Taverna <--- these are both data intensive, and are easily distributable. They were designed to deal with genomics/planetary data, etc...
For business workflows, check out JBoss JBpm, which is transactional (i.e. its not optimized for massive computationally intense workflows, but rather, its written to support business workflows that need security, database transactions, etc.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm looking forward to start developing a new server side enterprise communication framework in Java and I'm wondering if anyone knows a good book on the subject?
Some best practices and advice would be welcome.
Thanks.
"Practical API Design: Confessions of a Java Framework Architect" by Jaroslav Tulach (NetBeans architect) sounds like the best fit you're going to find.
But the best advice on developing new frameworks is: don't. Especially if you have to ask. It's very unlikely that you'll do a better job than all the people who wrote the multitude of frameworks already out there.
"How To Design A Good API and Why it Matters" by Josh Bloch.
http://www.youtube.com/watch?v=aAb7hSCtvGw
A couple of recommended books:
Patterns of Enterprise Application Architecture
Enterprise Integration Patterns
I don't know how exactly your eDMSs should connect which each other, if they are code compatible etc. But this may be helpful for you.
Check Java Content Repository (JCR) standard and JBoss ModeShape as implementation. Most of content (also document) repository software providers are JCR-Compliant, e.g. Alfresco but also other not related with Java.
Instead of writing own framework, just write simple ModeShape JCR connector for your eDMS. Then you can easly do federated DMSes, replication, use existing repository management tools, expose your repos via Web Dav, REST, comunicate with other protocols, and do many many other things with opensourced and commercial tools - your repository just must provide JCR connector.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What are the factors in deciding framework to choose ,technology for a web application .any architect please provide a guidance.
Target devices - If your application needs to run on mobile devices, then your application needs to be lightweight on the client side (not too much complex javascript, light DOM structures...)
Visibility - Should your application's content be indexed by search engines? If yes, then you have to remember that for example AJAX and Flash based solutions won't be indexed (workarounds exist).
Usability - If your application needs a high usability, then you should consider creating desktop like applications - in other words, a Rich Internet Application (RIA)
Security - No matter what you answer on the previous points, you have to remember security. Using client centric solutions (business logic written in client code (eg. javascript)) are a major security risk. Remember that I only talk about the security of the architecture. No framework will give you security for free, ultimately, the level of security is always up to the developers.
Skill of the team
Familiarity with the similar frameworks
Power of the framework
Ease of development
Scope of the project. I mean what you need, or will need, what it offers, or not.
Community support, Books
requirements of the projectrestrictions of the environmenttime frame of the projectprevious foundational codecurrent abilities of team
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to get my feet wet with Spring/Hibernate. But I think I move along faster and am more motivated if I am working with code rather than just reading a book chapter by chapter.
Does anyone have any good ideas for a home project to work on to learn these technologies? Any exercises that you might have worked on and thought useful?
Or perhaps you know of a book/tutorial that is based on a single project and walks you through it?
AppFuse is a Spring & Hibernate app designed to be used as skeleton for new projects. Install it, run maven, you have a working project you can study, inspect, debug, modify or add to as you wish. I've worked on a couple of enterprise apps that started as AppFuse.
I hope you would have some existing applications, previously done with different tech and framework. The best is to implement those with Hibernate and Spring.
I suggest using Appfuse, too, as tpdi does. A couple of details:
Use "Spring MVC Basic" project;
start with the Quickstart, and stick to it;
when you're confident enough, go deeper with each technology / layer.
You will find yourself digging in documentation, but with an already working project. Appfuse ha very few "special" classes & utilities, once you master it you can anytime start from scratch... but it's easier with it ;)
You need something simple but not trivial and complex but not complicated.
Try making a timetabling system or calendar