Presentation is loading. Please wait.

Presentation is loading. Please wait.

Transforming the e-Concordiensis Edward Maas Senior Capstone Design Project Advisor: Professor Cass.

Similar presentations


Presentation on theme: "Transforming the e-Concordiensis Edward Maas Senior Capstone Design Project Advisor: Professor Cass."— Presentation transcript:

1 Transforming the e-Concordiensis Edward Maas Senior Capstone Design Project Advisor: Professor Cass

2 About the Project Client: Concordiensis ( School Newspaper ) Client: Concordiensis ( School Newspaper ) Website: http://concordy.union.edu Website: http://concordy.union.eduhttp://concordy.union.edu Project: created a robust electronic publishing infrastructure. Project: created a robust electronic publishing infrastructure. Transformed From: HTML & PDF Articles Transformed From: HTML & PDF Articles

3 Technology Used Custom Content Management System Custom Content Management System Open Source JAVA Tools: Open Source JAVA Tools: Model-View-Controller for the Web Model-View-Controller for the Web Struts (http://struts.apache.org/ ) Struts (http://struts.apache.org/ )http://struts.apache.org/ Object / Relational Persistence and Query Service Object / Relational Persistence and Query Service Hibernate (http://www.hibernate.org/ ) Hibernate (http://www.hibernate.org/ )http://www.hibernate.org/ Image Manipulation Image Manipulation Image Conversion (TIFF-to-PNG) Image Conversion (TIFF-to-PNG) Tiff2png tool (http://www.libpng.org/pub/png/apps/tiff2png.html) Tiff2png tool (http://www.libpng.org/pub/png/apps/tiff2png.html) Image Scaling Image Scaling JMagick (http://www.yeo.id.au/jmagick/) JMagick (http://www.yeo.id.au/jmagick/)

4 How it works? Request Business Logic Data Access (hibernate) View Response 1 4 5 3 2 2

5 How Struts is Used! Created Forms (model) Created Forms (model) AddArticleForm, LoginForm, etc AddArticleForm, LoginForm, etc Wrote classes to process forms Wrote classes to process forms edu.union.struts.LoginForm.java: // Get Username & Password from form String username = (String)(newLoginForm.get("username")); String password = (String)(newLoginForm.get("password")); // Check to make sure they’re in the database & passwords are correct Staff authUser = (Staff)smanager.getBySignInCredentials(username, password); //On Login Success return (mapping.findForward("success")); Hibernate Call

6 Struts Usage Continued… Failure is defined globally Failure is defined globally <action path="/admin/LoginForm" type="edu.union.struts.LoginForm" name="LoginForm" scope="request" validate="true" input="/Login.jsp"> Create Action Mappings (controller) Create Action Mappings (controller) Validation & Forwards Validation & Forwards

7 Data Organization (relational) ER Diagram

8 How Hibernate Works! Define HBM Define HBM XML config, Struts uses one too! XML config, Struts uses one too! Defines correspondence between tables and classes Defines correspondence between tables and classes Defines Keys / Relationships Defines Keys / Relationships Create Value Object Classes Create Value Object Classes public Integer getId() { return this.Id; } public void setId(Integer Id) { this.Id = Id; }

9 Data Organization Hibernate Data Pseudo Diagram Sets Represent Multi-valued Relationships Sets Represent Multi-valued Relationships Update can be made with a single action Update can be made with a single action

10 Hibernate In Action! Create Queries (HQL) Create Queries (HQL) List users = session.find( "from Staff as staff where " + "staff.username = ? and staff.password = ?", new Object[] { uUsername, uPassword }, new Type[] { Hibernate.STRING, Hibernate.STRING }); Staff authUser = (Staff) smanager.getBySignInCredentials(username, password); Integrate within Controller (Struts) Integrate within Controller (Struts)

11 Presentation Layer ! JSP Templates (Green) JSP Templates (Green) Struts & Standard JSP Tags for form elements (Black) Struts & Standard JSP Tags for form elements (Black) Custom Java Tags (Yellow) Custom Java Tags (Yellow) AssignPhoto Form Custom Layout Tag: StoryTag.java Struts at work – CheckImages.jsp

12 Putting it All Together! Code written primarily on Linux Code written primarily on Linux Revisions tracked with cvs Revisions tracked with cvs Build & Deployment Process: Apache Ant Build & Deployment Process: Apache Ant Java Container: Jakarta Tomcat 5.x Java Container: Jakarta Tomcat 5.x

13 Next Steps & Neat Additions! Present Finished Product to Concordy Editors for beta testing Present Finished Product to Concordy Editors for beta testing Deploy Database and Application on VU Deploy Database and Application on VU Performance Test under actual traffic! Performance Test under actual traffic! Add Editing features to data in the Content Manager Add Editing features to data in the Content Manager Fix Access Control Lists Fix Access Control Lists Create RSS Syndication Feeds Create RSS Syndication Feeds More cross browser/ machine layout & GUI More cross browser/ machine layout & GUI

14 Questions ?


Download ppt "Transforming the e-Concordiensis Edward Maas Senior Capstone Design Project Advisor: Professor Cass."

Similar presentations


Ads by Google