Enterprise application development with Ext JS and Spring :: develop and deploy a high-performance Java web application using Ext JS and Spring /
Designed for intermediate developers, this superb tutorial will lead you step by step through the process of developing enterprise web applications combining two leading-edge frameworks. Take a big leap forward in easy stages. Embark on the exciting journey through the entire enterprise web applicat...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham :
Packt Publishing,
2013.
|
Schriftenreihe: | Community experience distilled.
|
Schlagworte: | |
Online-Zugang: | Volltext |
Zusammenfassung: | Designed for intermediate developers, this superb tutorial will lead you step by step through the process of developing enterprise web applications combining two leading-edge frameworks. Take a big leap forward in easy stages. Embark on the exciting journey through the entire enterprise web application development lifecycle Leverage key Spring Framework concepts to deliver comprehensive and concise Java code Build a real world ExtJS web application that interacts with dynamic database driven data In Detail Spring and ExtJS are cutting edge frameworks that allow us to build high performance web applications for modern devices, that are now consuming data at a faster rate than ever before. It is the appropriate time for you to understand how to best leverage these technologies when architecting, designing, and developing large scale web development projects. This practical guide condenses an approach to web development that was gained from real world projects, and outlines a simple, practical approach to developing high performance, and enterprise grade web applications. Starting with configuring Java, Netbeans, and MySQL to prepare your development environment, you will then learn how to connect your Netbeans IDE to the MySQL database server. We will then explore the Task Time Tracker (3T) project database structure and populate these tables with test data. Following on from this, we will examine core JPA concepts after reverse engineering the domain layer with Netbeans. Leveraging the Data Access Object design pattern, you will learn how to build the Java DAO implementation layer assisted by generics in base classes, followed by a Data Transfer Object enabled service layer to encapsulate the business logic of your 3T application. The final chapters that focus on Java explore how to implement the request handling layer using Spring annotated controllers, and deploy the 3T application to the Glassfish server. We will then configure the ExtJS 4 development environment and introduce key ExtJS 4 concepts, including MVC and practical design conventions. Covering a variety of important ExtJS 4 strategies and concepts, you will be fully-equipped to implement a variety of different user interfaces using the ExtJS MVC design pattern. Your journey ends by exploring the production build and deployment process using Maven, Sencha Cmd and Glassfish. |
Beschreibung: | 1 online resource (446 pages) : illustrations (some color) |
ISBN: | 9781783285464 178328546X |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-ocn870342822 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr |n||||||||| | ||
008 | 140110s2013 enka o 001 0 eng d | ||
040 | |a CaPaEBR |b eng |e rda |e pn |c S4S |d UMI |d E7B |d COO |d DEBBG |d DEBSZ |d OCLCF |d OCLCQ |d COCUF |d CNNOR |d MOR |d PIFPO |d N$T |d AGLDB |d OCLCQ |d OCLCO |d U3W |d D6H |d STF |d VTS |d CEF |d NRAMU |d NLE |d INT |d VT2 |d OCLCQ |d UKMGB |d WYU |d G3B |d TKN |d OCLCQ |d UAB |d AU@ |d UKAHL |d QGK |d OCLCO |d OCLCQ |d OCLCO |d OCLCL |d DXU | ||
016 | 7 | |a 018006550 |2 Uk | |
019 | |a 870903540 |a 961550937 |a 962577626 |a 1259073535 | ||
020 | |a 9781783285464 |q (electronic bk.) | ||
020 | |a 178328546X |q (electronic bk.) | ||
020 | |z 9781783285457 | ||
020 | |z 1783285451 | ||
035 | |a (OCoLC)870342822 |z (OCoLC)870903540 |z (OCoLC)961550937 |z (OCoLC)962577626 |z (OCoLC)1259073535 | ||
037 | |a CL0500000393 |b Safari Books Online | ||
050 | 4 | |a QA76.73.J39 |b G54 2013eb | |
072 | 7 | |a COM |x 051260 |2 bisacsh | |
072 | 7 | |a COM |x 060130 |2 bisacsh | |
082 | 7 | |a 005.2762 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Gierer, Gerald. | |
245 | 1 | 0 | |a Enterprise application development with Ext JS and Spring : |b develop and deploy a high-performance Java web application using Ext JS and Spring / |c Gerald Gierer. |
264 | 1 | |a Birmingham : |b Packt Publishing, |c 2013. | |
300 | |a 1 online resource (446 pages) : |b illustrations (some color) | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
347 | |a text file | ||
490 | 1 | |a Community experience distilled | |
588 | 0 | |a Online resource; title from PDF title page (EBSCO, viewed July 8, 2017). | |
520 | |a Designed for intermediate developers, this superb tutorial will lead you step by step through the process of developing enterprise web applications combining two leading-edge frameworks. Take a big leap forward in easy stages. Embark on the exciting journey through the entire enterprise web application development lifecycle Leverage key Spring Framework concepts to deliver comprehensive and concise Java code Build a real world ExtJS web application that interacts with dynamic database driven data In Detail Spring and ExtJS are cutting edge frameworks that allow us to build high performance web applications for modern devices, that are now consuming data at a faster rate than ever before. It is the appropriate time for you to understand how to best leverage these technologies when architecting, designing, and developing large scale web development projects. This practical guide condenses an approach to web development that was gained from real world projects, and outlines a simple, practical approach to developing high performance, and enterprise grade web applications. Starting with configuring Java, Netbeans, and MySQL to prepare your development environment, you will then learn how to connect your Netbeans IDE to the MySQL database server. We will then explore the Task Time Tracker (3T) project database structure and populate these tables with test data. Following on from this, we will examine core JPA concepts after reverse engineering the domain layer with Netbeans. Leveraging the Data Access Object design pattern, you will learn how to build the Java DAO implementation layer assisted by generics in base classes, followed by a Data Transfer Object enabled service layer to encapsulate the business logic of your 3T application. The final chapters that focus on Java explore how to implement the request handling layer using Spring annotated controllers, and deploy the 3T application to the Glassfish server. We will then configure the ExtJS 4 development environment and introduce key ExtJS 4 concepts, including MVC and practical design conventions. Covering a variety of important ExtJS 4 strategies and concepts, you will be fully-equipped to implement a variety of different user interfaces using the ExtJS MVC design pattern. Your journey ends by exploring the production build and deployment process using Maven, Sencha Cmd and Glassfish. | ||
546 | |a English. | ||
505 | 0 | |a Intro -- Enterprise Application Development with Ext JS and Spring -- Table of Contents -- Enterprise Application Development with Ext JS and Spring -- Credits -- About the Author -- Acknowledgments -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- What the book covers -- What you need for this book -- Who this book is for -- Application architects -- Java developers -- Ext JS developers -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Preparing Your Development Environment -- Installing MySQL -- Installing the Java SE Development Kit (JDK) -- Installing the NetBeans IDE -- Introducing Maven -- Creating the Maven Web Application project -- Understanding the POM and dependency management -- Understanding dependency scope -- Defining Maven properties -- Understanding Maven-build plugins -- Executing the Maven build -- Starting the GlassFish 4 server -- Running the Task Time Tracker project -- Summary -- 2. The Task Time Tracker Database -- Connecting NetBeans with MySQL -- The 3T database -- The company table -- The projects table -- The tasks table -- The user table -- The task log table -- Enterprise options for the 3T database -- Password encryption -- LDAP integration -- Audit trails -- Logon activity audits -- Custom audit tables -- Summary -- 3. Reverse Engineering the Domain Layer with JPA -- Understanding the reasons for using JPA -- Understanding JPA implementations -- Reverse engineering with NetBeans -- Introducing the persistence.xml file -- Refactoring the Java classes -- The Company.java file -- The @Entity annotation -- The @Table annotation -- The @Id annotation -- The @GeneratedValue annotation -- The @Basic annotation. | |
505 | 8 | |a The @Column annotation -- The @NotNull and @Size annotations -- The @OneToMany annotation -- The @NamedQueries annotation -- The Projects.java file -- The @ManyToOne annotation -- Bidirectional mapping and owning entities -- The Task.java file -- The User.java file -- The TaskLog.java file -- Introducing the Java Persistence Query Language -- Defining named queries -- Refactoring Java equals() and hashCode() -- Summary -- 4. Data Access Made Easy -- Defining the DAO interfaces -- Adding the CompanyDao interface -- Adding the ProjectDao interface -- Defining a generic DAO interface -- The TaskDao interface -- The UserDao interface -- The TaskLogDao interface -- Defining the generic DAO implementation -- The Simple Logging Facade for Java -- The@PersistenceContext(unitName = "tttPU") line -- The @Transactional annotation -- The Propagation.REQUIRED property -- The Propagation.SUPPORTS property -- The readOnly property -- Other transaction properties -- Defining the DAO implementations -- The CompanyDaoImpl class -- The ProjectDaoImpl class -- The TaskDaoImpl class -- The UserDaoImpl class -- The TaskLogDaoImpl class -- A better domain layer -- Exercise -- a simple change request -- Summary -- 5. Testing the DAO Layer with Spring and JUnit -- Unit testing overview -- The benefits of unit testing -- Configuring the test environment -- The jdbc.properties file -- The logback.xml file -- The test-persistence.xml file -- Introducing the Spring IoC container -- Exploring the testingContext.xml file -- The Spring XML namespaces -- The property file configuration -- Creating the JDBC DataSource -- Defining helper beans -- Defining the EntityManagerFactory class -- Configuring the transaction manager -- Autowiring beans -- Thanks for the plumbing! -- Enabling the Maven environment for testing -- Defining a test case superclass. | |
505 | 8 | |a Defining the CompanyDao test case -- Running the JUnit test cases with Maven -- Running the CompanyDaoTest.java file -- The results for the CompanyDaoTests.testMerge test case -- The results for the CompanyDaoTests.testFindAll test case -- The results for the CompanyDaoTests.testFind test case -- Results for the CompanyDaoTests.testPersist test case -- Results for the CompanyDaoTests.testRemove test case -- JPA traps for the unwary -- Exercises -- Summary -- 6. Back to Business -- The Service Layer -- Service layer considerations -- Building the service layer -- The Result Data Transfer Object -- The AbstractService.java class -- The service layer interfaces -- Implementing the service layer -- Authentication, authorization, and security -- The CompanyService implementation -- The TaskService implementation -- The TaskLogService implementation -- Testing the service layer -- Automating the service layer tests -- Exercises -- Summary -- 7. The Web Request Handling Layer -- A brief history of Web MVC -- Request handling for enterprise web applications -- Building the request handling layer -- Preparing for JSON generation -- Implementing the Company addJson method -- Implementing the Project addJson method -- Implementing the Task addJson method -- Implementing the User addJson method -- Implementing the TaskLog addJson method -- A note on JSON -- Creating the request handlers -- Defining the AbstractHandler superclass -- Defining the SecurityHandler class -- The @Controller and @RequestMapping annotations -- The @ResponseBody annotation -- The @RequestParam annotation -- Authenticating a user -- Logging out -- Defining the CompanyHandler class -- Defining the ProjectHandler class -- The Spring HandlerInterceptor interface -- The Spring MVC configuration -- Defining the TaskLogHandler class -- The @InitBinder annotation -- More on Spring MVC. | |
505 | 8 | |a Exercises -- Summary -- 8. Running 3T on GlassFish -- Configuring the 3T web application -- The Spring applicationContext.xml file -- The web.xml file -- The glassfish-web.xml file -- Configuring the Maven pom.xml file -- Adding eclipselink.target-server to the persistence.xml file -- Adding the logback.xml file to your resources directory -- Configuring the GlassFish server -- Renaming the setup directory -- Starting the GlassFish server in NetBeans -- Configuring the JDBC connection pool -- Configuring the JDBC resource -- Running 3T -- Managing GlassFish without NetBeans -- Summary -- 9. Getting Started with Ext JS 4 -- The importance of application design -- Ext JS 4 MVC concepts -- Model -- View -- Controller -- Ext JS 4 flexibility -- Ext JS 4 design conventions and concepts -- Practical conventions -- Project structure -- Naming conventions -- Naming stores and models -- Naming views -- Naming controllers -- Naming xtypes -- The Ext JS 4 development environment -- Installing Sencha Cmd -- Installing Ext JS 4 SDK -- Generating the 3T Ext JS 4 application skeleton -- The index.html file -- The app.js and Application.js files -- The bootstrap.js and bootstrap.css files -- The app/Viewport.js and app/view/Main.js files -- The app/controller/Main.js file -- Creating components using Sencha Cmd -- Generating model skeletons -- Generating views and controllers using Sencha Cmd -- Summary -- 10. Logging On and Maintaining Users -- Layouts, screens, and workflows -- Defining view components -- Building our views -- Defining the Logon window -- Using the initComponent() function -- Defining the viewport -- The MainHeader.js view -- The MainCards.js file -- Defining the Welcome panel -- Defining the user management components -- The ManageUsers.js file -- The UserForm.js file -- The UserList.js file -- The User store -- Models and persistence. | |
505 | 8 | |a Defining the proxy -- Comparing AJAX and REST proxies -- Defining the reader -- Defining the writer -- Defining validations -- Controlling the Logon and Viewport actions -- The MainController.js file -- Controlling our user views -- The doAddUser function -- The doSelectUser function -- The doSaveUser function -- The doDeleteUser function -- Let's log on! -- Let's maintain users -- Summary -- 11. Building the Task Log User Interface -- Task log workflows and layouts -- Building our task log views -- The ManageTaskLogs.js file -- The TaskLogForm.js file -- The TaskLogList.js file -- Defining our models -- The TaskLog Model -- The Project model -- The Task Model -- Defining our stores -- The TaskLog store -- The Project store -- The Task store -- Controlling the TaskLog actions -- Testing the task log interface -- Summary -- 12. 3T Administration Made Easy -- Administration workflows and layouts -- Building the 3T administration interface -- The ManageTasks.js file -- The CompanyForm.js file -- The ProjectForm.js file -- The TaskForm.js file -- The CompanyTree.js file -- Introducing the Ext.data.TreeStore class -- Generating a JSON tree in the CompanyHandler class -- The CompanyHandler.getTreeNodeId() method -- The CompanyHandler.getCompanyTreeJson() method -- Controlling the 3T administration -- Defining the Company model and store -- The doAfterActivate function -- The doSelectTreeItem function -- The doSave functions -- The doDelete functions -- The doAdd functions -- Testing the 3T administration interface -- Dynamically loading tree nodes -- Displaying multiple tree columns -- Drag-and-drop made easy -- Summary -- 13. Moving Your Application to Production -- Compiling with Sencha Cmd -- Ext JS 4 theming -- Compiling for production use -- Integrating Sencha Cmd compiling with Maven -- Adding the build version and timestamp. | |
650 | 0 | |a JavaScript (Computer program language) |0 http://id.loc.gov/authorities/subjects/sh96004880 | |
650 | 0 | |a Web site development. |0 http://id.loc.gov/authorities/subjects/sh98004795 | |
650 | 0 | |a Internet programming. |0 http://id.loc.gov/authorities/subjects/sh96009904 | |
650 | 0 | |a Application software |x Development. |0 http://id.loc.gov/authorities/subjects/sh95009362 | |
650 | 6 | |a JavaScript (Langage de programmation) | |
650 | 6 | |a Sites Web |x Développement. | |
650 | 6 | |a Programmation Internet. | |
650 | 6 | |a Logiciels d'application |x Développement. | |
650 | 7 | |a COMPUTERS |x Programming Languages |x JavaScript. |2 bisacsh | |
650 | 7 | |a COMPUTERS |x Web |x Design. |2 bisacsh | |
650 | 7 | |a Application software |x Development |2 fast | |
650 | 7 | |a Internet programming |2 fast | |
650 | 7 | |a JavaScript (Computer program language) |2 fast | |
650 | 7 | |a Web site development |2 fast | |
758 | |i has work: |a Enterprise application development with Ext JS and Spring (Text) |1 https://id.oclc.org/worldcat/entity/E39PCXH6mMH3V8cGjGrt9DkYyd |4 https://id.oclc.org/worldcat/ontology/hasWork | ||
776 | 0 | |z 1783285451 | |
776 | 0 | |z 1306224268 | |
830 | 0 | |a Community experience distilled. |0 http://id.loc.gov/authorities/names/no2011030603 | |
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=679991 |3 Volltext |
936 | |a BATCHLOAD | ||
938 | |a Askews and Holts Library Services |b ASKH |n AH26849871 | ||
938 | |a ebrary |b EBRY |n ebr10822196 | ||
938 | |a EBSCOhost |b EBSC |n 679991 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-ocn870342822 |
---|---|
_version_ | 1816882260727562240 |
adam_text | |
any_adam_object | |
author | Gierer, Gerald |
author_facet | Gierer, Gerald |
author_role | |
author_sort | Gierer, Gerald |
author_variant | g g gg |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.J39 G54 2013eb |
callnumber-search | QA76.73.J39 G54 2013eb |
callnumber-sort | QA 276.73 J39 G54 42013EB |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | Intro -- Enterprise Application Development with Ext JS and Spring -- Table of Contents -- Enterprise Application Development with Ext JS and Spring -- Credits -- About the Author -- Acknowledgments -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- What the book covers -- What you need for this book -- Who this book is for -- Application architects -- Java developers -- Ext JS developers -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Preparing Your Development Environment -- Installing MySQL -- Installing the Java SE Development Kit (JDK) -- Installing the NetBeans IDE -- Introducing Maven -- Creating the Maven Web Application project -- Understanding the POM and dependency management -- Understanding dependency scope -- Defining Maven properties -- Understanding Maven-build plugins -- Executing the Maven build -- Starting the GlassFish 4 server -- Running the Task Time Tracker project -- Summary -- 2. The Task Time Tracker Database -- Connecting NetBeans with MySQL -- The 3T database -- The company table -- The projects table -- The tasks table -- The user table -- The task log table -- Enterprise options for the 3T database -- Password encryption -- LDAP integration -- Audit trails -- Logon activity audits -- Custom audit tables -- Summary -- 3. Reverse Engineering the Domain Layer with JPA -- Understanding the reasons for using JPA -- Understanding JPA implementations -- Reverse engineering with NetBeans -- Introducing the persistence.xml file -- Refactoring the Java classes -- The Company.java file -- The @Entity annotation -- The @Table annotation -- The @Id annotation -- The @GeneratedValue annotation -- The @Basic annotation. The @Column annotation -- The @NotNull and @Size annotations -- The @OneToMany annotation -- The @NamedQueries annotation -- The Projects.java file -- The @ManyToOne annotation -- Bidirectional mapping and owning entities -- The Task.java file -- The User.java file -- The TaskLog.java file -- Introducing the Java Persistence Query Language -- Defining named queries -- Refactoring Java equals() and hashCode() -- Summary -- 4. Data Access Made Easy -- Defining the DAO interfaces -- Adding the CompanyDao interface -- Adding the ProjectDao interface -- Defining a generic DAO interface -- The TaskDao interface -- The UserDao interface -- The TaskLogDao interface -- Defining the generic DAO implementation -- The Simple Logging Facade for Java -- The@PersistenceContext(unitName = "tttPU") line -- The @Transactional annotation -- The Propagation.REQUIRED property -- The Propagation.SUPPORTS property -- The readOnly property -- Other transaction properties -- Defining the DAO implementations -- The CompanyDaoImpl class -- The ProjectDaoImpl class -- The TaskDaoImpl class -- The UserDaoImpl class -- The TaskLogDaoImpl class -- A better domain layer -- Exercise -- a simple change request -- Summary -- 5. Testing the DAO Layer with Spring and JUnit -- Unit testing overview -- The benefits of unit testing -- Configuring the test environment -- The jdbc.properties file -- The logback.xml file -- The test-persistence.xml file -- Introducing the Spring IoC container -- Exploring the testingContext.xml file -- The Spring XML namespaces -- The property file configuration -- Creating the JDBC DataSource -- Defining helper beans -- Defining the EntityManagerFactory class -- Configuring the transaction manager -- Autowiring beans -- Thanks for the plumbing! -- Enabling the Maven environment for testing -- Defining a test case superclass. Defining the CompanyDao test case -- Running the JUnit test cases with Maven -- Running the CompanyDaoTest.java file -- The results for the CompanyDaoTests.testMerge test case -- The results for the CompanyDaoTests.testFindAll test case -- The results for the CompanyDaoTests.testFind test case -- Results for the CompanyDaoTests.testPersist test case -- Results for the CompanyDaoTests.testRemove test case -- JPA traps for the unwary -- Exercises -- Summary -- 6. Back to Business -- The Service Layer -- Service layer considerations -- Building the service layer -- The Result Data Transfer Object -- The AbstractService.java class -- The service layer interfaces -- Implementing the service layer -- Authentication, authorization, and security -- The CompanyService implementation -- The TaskService implementation -- The TaskLogService implementation -- Testing the service layer -- Automating the service layer tests -- Exercises -- Summary -- 7. The Web Request Handling Layer -- A brief history of Web MVC -- Request handling for enterprise web applications -- Building the request handling layer -- Preparing for JSON generation -- Implementing the Company addJson method -- Implementing the Project addJson method -- Implementing the Task addJson method -- Implementing the User addJson method -- Implementing the TaskLog addJson method -- A note on JSON -- Creating the request handlers -- Defining the AbstractHandler superclass -- Defining the SecurityHandler class -- The @Controller and @RequestMapping annotations -- The @ResponseBody annotation -- The @RequestParam annotation -- Authenticating a user -- Logging out -- Defining the CompanyHandler class -- Defining the ProjectHandler class -- The Spring HandlerInterceptor interface -- The Spring MVC configuration -- Defining the TaskLogHandler class -- The @InitBinder annotation -- More on Spring MVC. Exercises -- Summary -- 8. Running 3T on GlassFish -- Configuring the 3T web application -- The Spring applicationContext.xml file -- The web.xml file -- The glassfish-web.xml file -- Configuring the Maven pom.xml file -- Adding eclipselink.target-server to the persistence.xml file -- Adding the logback.xml file to your resources directory -- Configuring the GlassFish server -- Renaming the setup directory -- Starting the GlassFish server in NetBeans -- Configuring the JDBC connection pool -- Configuring the JDBC resource -- Running 3T -- Managing GlassFish without NetBeans -- Summary -- 9. Getting Started with Ext JS 4 -- The importance of application design -- Ext JS 4 MVC concepts -- Model -- View -- Controller -- Ext JS 4 flexibility -- Ext JS 4 design conventions and concepts -- Practical conventions -- Project structure -- Naming conventions -- Naming stores and models -- Naming views -- Naming controllers -- Naming xtypes -- The Ext JS 4 development environment -- Installing Sencha Cmd -- Installing Ext JS 4 SDK -- Generating the 3T Ext JS 4 application skeleton -- The index.html file -- The app.js and Application.js files -- The bootstrap.js and bootstrap.css files -- The app/Viewport.js and app/view/Main.js files -- The app/controller/Main.js file -- Creating components using Sencha Cmd -- Generating model skeletons -- Generating views and controllers using Sencha Cmd -- Summary -- 10. Logging On and Maintaining Users -- Layouts, screens, and workflows -- Defining view components -- Building our views -- Defining the Logon window -- Using the initComponent() function -- Defining the viewport -- The MainHeader.js view -- The MainCards.js file -- Defining the Welcome panel -- Defining the user management components -- The ManageUsers.js file -- The UserForm.js file -- The UserList.js file -- The User store -- Models and persistence. Defining the proxy -- Comparing AJAX and REST proxies -- Defining the reader -- Defining the writer -- Defining validations -- Controlling the Logon and Viewport actions -- The MainController.js file -- Controlling our user views -- The doAddUser function -- The doSelectUser function -- The doSaveUser function -- The doDeleteUser function -- Let's log on! -- Let's maintain users -- Summary -- 11. Building the Task Log User Interface -- Task log workflows and layouts -- Building our task log views -- The ManageTaskLogs.js file -- The TaskLogForm.js file -- The TaskLogList.js file -- Defining our models -- The TaskLog Model -- The Project model -- The Task Model -- Defining our stores -- The TaskLog store -- The Project store -- The Task store -- Controlling the TaskLog actions -- Testing the task log interface -- Summary -- 12. 3T Administration Made Easy -- Administration workflows and layouts -- Building the 3T administration interface -- The ManageTasks.js file -- The CompanyForm.js file -- The ProjectForm.js file -- The TaskForm.js file -- The CompanyTree.js file -- Introducing the Ext.data.TreeStore class -- Generating a JSON tree in the CompanyHandler class -- The CompanyHandler.getTreeNodeId() method -- The CompanyHandler.getCompanyTreeJson() method -- Controlling the 3T administration -- Defining the Company model and store -- The doAfterActivate function -- The doSelectTreeItem function -- The doSave functions -- The doDelete functions -- The doAdd functions -- Testing the 3T administration interface -- Dynamically loading tree nodes -- Displaying multiple tree columns -- Drag-and-drop made easy -- Summary -- 13. Moving Your Application to Production -- Compiling with Sencha Cmd -- Ext JS 4 theming -- Compiling for production use -- Integrating Sencha Cmd compiling with Maven -- Adding the build version and timestamp. |
ctrlnum | (OCoLC)870342822 |
dewey-full | 005.2762 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.2762 |
dewey-search | 005.2762 |
dewey-sort | 15.2762 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>15039cam a2200757 i 4500</leader><controlfield tag="001">ZDB-4-EBA-ocn870342822</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr |n|||||||||</controlfield><controlfield tag="008">140110s2013 enka o 001 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">CaPaEBR</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">S4S</subfield><subfield code="d">UMI</subfield><subfield code="d">E7B</subfield><subfield code="d">COO</subfield><subfield code="d">DEBBG</subfield><subfield code="d">DEBSZ</subfield><subfield code="d">OCLCF</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">COCUF</subfield><subfield code="d">CNNOR</subfield><subfield code="d">MOR</subfield><subfield code="d">PIFPO</subfield><subfield code="d">N$T</subfield><subfield code="d">AGLDB</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">U3W</subfield><subfield code="d">D6H</subfield><subfield code="d">STF</subfield><subfield code="d">VTS</subfield><subfield code="d">CEF</subfield><subfield code="d">NRAMU</subfield><subfield code="d">NLE</subfield><subfield code="d">INT</subfield><subfield code="d">VT2</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">UKMGB</subfield><subfield code="d">WYU</subfield><subfield code="d">G3B</subfield><subfield code="d">TKN</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">UAB</subfield><subfield code="d">AU@</subfield><subfield code="d">UKAHL</subfield><subfield code="d">QGK</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield><subfield code="d">DXU</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">018006550</subfield><subfield code="2">Uk</subfield></datafield><datafield tag="019" ind1=" " ind2=" "><subfield code="a">870903540</subfield><subfield code="a">961550937</subfield><subfield code="a">962577626</subfield><subfield code="a">1259073535</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781783285464</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">178328546X</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9781783285457</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">1783285451</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)870342822</subfield><subfield code="z">(OCoLC)870903540</subfield><subfield code="z">(OCoLC)961550937</subfield><subfield code="z">(OCoLC)962577626</subfield><subfield code="z">(OCoLC)1259073535</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">CL0500000393</subfield><subfield code="b">Safari Books Online</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.73.J39</subfield><subfield code="b">G54 2013eb</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051260</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">060130</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.2762</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Gierer, Gerald.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Enterprise application development with Ext JS and Spring :</subfield><subfield code="b">develop and deploy a high-performance Java web application using Ext JS and Spring /</subfield><subfield code="c">Gerald Gierer.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">2013.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (446 pages) :</subfield><subfield code="b">illustrations (some color)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="347" ind1=" " ind2=" "><subfield code="a">text file</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">Community experience distilled</subfield></datafield><datafield tag="588" ind1="0" ind2=" "><subfield code="a">Online resource; title from PDF title page (EBSCO, viewed July 8, 2017).</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Designed for intermediate developers, this superb tutorial will lead you step by step through the process of developing enterprise web applications combining two leading-edge frameworks. Take a big leap forward in easy stages. Embark on the exciting journey through the entire enterprise web application development lifecycle Leverage key Spring Framework concepts to deliver comprehensive and concise Java code Build a real world ExtJS web application that interacts with dynamic database driven data In Detail Spring and ExtJS are cutting edge frameworks that allow us to build high performance web applications for modern devices, that are now consuming data at a faster rate than ever before. It is the appropriate time for you to understand how to best leverage these technologies when architecting, designing, and developing large scale web development projects. This practical guide condenses an approach to web development that was gained from real world projects, and outlines a simple, practical approach to developing high performance, and enterprise grade web applications. Starting with configuring Java, Netbeans, and MySQL to prepare your development environment, you will then learn how to connect your Netbeans IDE to the MySQL database server. We will then explore the Task Time Tracker (3T) project database structure and populate these tables with test data. Following on from this, we will examine core JPA concepts after reverse engineering the domain layer with Netbeans. Leveraging the Data Access Object design pattern, you will learn how to build the Java DAO implementation layer assisted by generics in base classes, followed by a Data Transfer Object enabled service layer to encapsulate the business logic of your 3T application. The final chapters that focus on Java explore how to implement the request handling layer using Spring annotated controllers, and deploy the 3T application to the Glassfish server. We will then configure the ExtJS 4 development environment and introduce key ExtJS 4 concepts, including MVC and practical design conventions. Covering a variety of important ExtJS 4 strategies and concepts, you will be fully-equipped to implement a variety of different user interfaces using the ExtJS MVC design pattern. Your journey ends by exploring the production build and deployment process using Maven, Sencha Cmd and Glassfish.</subfield></datafield><datafield tag="546" ind1=" " ind2=" "><subfield code="a">English.</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Intro -- Enterprise Application Development with Ext JS and Spring -- Table of Contents -- Enterprise Application Development with Ext JS and Spring -- Credits -- About the Author -- Acknowledgments -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- What the book covers -- What you need for this book -- Who this book is for -- Application architects -- Java developers -- Ext JS developers -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Preparing Your Development Environment -- Installing MySQL -- Installing the Java SE Development Kit (JDK) -- Installing the NetBeans IDE -- Introducing Maven -- Creating the Maven Web Application project -- Understanding the POM and dependency management -- Understanding dependency scope -- Defining Maven properties -- Understanding Maven-build plugins -- Executing the Maven build -- Starting the GlassFish 4 server -- Running the Task Time Tracker project -- Summary -- 2. The Task Time Tracker Database -- Connecting NetBeans with MySQL -- The 3T database -- The company table -- The projects table -- The tasks table -- The user table -- The task log table -- Enterprise options for the 3T database -- Password encryption -- LDAP integration -- Audit trails -- Logon activity audits -- Custom audit tables -- Summary -- 3. Reverse Engineering the Domain Layer with JPA -- Understanding the reasons for using JPA -- Understanding JPA implementations -- Reverse engineering with NetBeans -- Introducing the persistence.xml file -- Refactoring the Java classes -- The Company.java file -- The @Entity annotation -- The @Table annotation -- The @Id annotation -- The @GeneratedValue annotation -- The @Basic annotation.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">The @Column annotation -- The @NotNull and @Size annotations -- The @OneToMany annotation -- The @NamedQueries annotation -- The Projects.java file -- The @ManyToOne annotation -- Bidirectional mapping and owning entities -- The Task.java file -- The User.java file -- The TaskLog.java file -- Introducing the Java Persistence Query Language -- Defining named queries -- Refactoring Java equals() and hashCode() -- Summary -- 4. Data Access Made Easy -- Defining the DAO interfaces -- Adding the CompanyDao interface -- Adding the ProjectDao interface -- Defining a generic DAO interface -- The TaskDao interface -- The UserDao interface -- The TaskLogDao interface -- Defining the generic DAO implementation -- The Simple Logging Facade for Java -- The@PersistenceContext(unitName = "tttPU") line -- The @Transactional annotation -- The Propagation.REQUIRED property -- The Propagation.SUPPORTS property -- The readOnly property -- Other transaction properties -- Defining the DAO implementations -- The CompanyDaoImpl class -- The ProjectDaoImpl class -- The TaskDaoImpl class -- The UserDaoImpl class -- The TaskLogDaoImpl class -- A better domain layer -- Exercise -- a simple change request -- Summary -- 5. Testing the DAO Layer with Spring and JUnit -- Unit testing overview -- The benefits of unit testing -- Configuring the test environment -- The jdbc.properties file -- The logback.xml file -- The test-persistence.xml file -- Introducing the Spring IoC container -- Exploring the testingContext.xml file -- The Spring XML namespaces -- The property file configuration -- Creating the JDBC DataSource -- Defining helper beans -- Defining the EntityManagerFactory class -- Configuring the transaction manager -- Autowiring beans -- Thanks for the plumbing! -- Enabling the Maven environment for testing -- Defining a test case superclass.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Defining the CompanyDao test case -- Running the JUnit test cases with Maven -- Running the CompanyDaoTest.java file -- The results for the CompanyDaoTests.testMerge test case -- The results for the CompanyDaoTests.testFindAll test case -- The results for the CompanyDaoTests.testFind test case -- Results for the CompanyDaoTests.testPersist test case -- Results for the CompanyDaoTests.testRemove test case -- JPA traps for the unwary -- Exercises -- Summary -- 6. Back to Business -- The Service Layer -- Service layer considerations -- Building the service layer -- The Result Data Transfer Object -- The AbstractService.java class -- The service layer interfaces -- Implementing the service layer -- Authentication, authorization, and security -- The CompanyService implementation -- The TaskService implementation -- The TaskLogService implementation -- Testing the service layer -- Automating the service layer tests -- Exercises -- Summary -- 7. The Web Request Handling Layer -- A brief history of Web MVC -- Request handling for enterprise web applications -- Building the request handling layer -- Preparing for JSON generation -- Implementing the Company addJson method -- Implementing the Project addJson method -- Implementing the Task addJson method -- Implementing the User addJson method -- Implementing the TaskLog addJson method -- A note on JSON -- Creating the request handlers -- Defining the AbstractHandler superclass -- Defining the SecurityHandler class -- The @Controller and @RequestMapping annotations -- The @ResponseBody annotation -- The @RequestParam annotation -- Authenticating a user -- Logging out -- Defining the CompanyHandler class -- Defining the ProjectHandler class -- The Spring HandlerInterceptor interface -- The Spring MVC configuration -- Defining the TaskLogHandler class -- The @InitBinder annotation -- More on Spring MVC.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Exercises -- Summary -- 8. Running 3T on GlassFish -- Configuring the 3T web application -- The Spring applicationContext.xml file -- The web.xml file -- The glassfish-web.xml file -- Configuring the Maven pom.xml file -- Adding eclipselink.target-server to the persistence.xml file -- Adding the logback.xml file to your resources directory -- Configuring the GlassFish server -- Renaming the setup directory -- Starting the GlassFish server in NetBeans -- Configuring the JDBC connection pool -- Configuring the JDBC resource -- Running 3T -- Managing GlassFish without NetBeans -- Summary -- 9. Getting Started with Ext JS 4 -- The importance of application design -- Ext JS 4 MVC concepts -- Model -- View -- Controller -- Ext JS 4 flexibility -- Ext JS 4 design conventions and concepts -- Practical conventions -- Project structure -- Naming conventions -- Naming stores and models -- Naming views -- Naming controllers -- Naming xtypes -- The Ext JS 4 development environment -- Installing Sencha Cmd -- Installing Ext JS 4 SDK -- Generating the 3T Ext JS 4 application skeleton -- The index.html file -- The app.js and Application.js files -- The bootstrap.js and bootstrap.css files -- The app/Viewport.js and app/view/Main.js files -- The app/controller/Main.js file -- Creating components using Sencha Cmd -- Generating model skeletons -- Generating views and controllers using Sencha Cmd -- Summary -- 10. Logging On and Maintaining Users -- Layouts, screens, and workflows -- Defining view components -- Building our views -- Defining the Logon window -- Using the initComponent() function -- Defining the viewport -- The MainHeader.js view -- The MainCards.js file -- Defining the Welcome panel -- Defining the user management components -- The ManageUsers.js file -- The UserForm.js file -- The UserList.js file -- The User store -- Models and persistence.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Defining the proxy -- Comparing AJAX and REST proxies -- Defining the reader -- Defining the writer -- Defining validations -- Controlling the Logon and Viewport actions -- The MainController.js file -- Controlling our user views -- The doAddUser function -- The doSelectUser function -- The doSaveUser function -- The doDeleteUser function -- Let's log on! -- Let's maintain users -- Summary -- 11. Building the Task Log User Interface -- Task log workflows and layouts -- Building our task log views -- The ManageTaskLogs.js file -- The TaskLogForm.js file -- The TaskLogList.js file -- Defining our models -- The TaskLog Model -- The Project model -- The Task Model -- Defining our stores -- The TaskLog store -- The Project store -- The Task store -- Controlling the TaskLog actions -- Testing the task log interface -- Summary -- 12. 3T Administration Made Easy -- Administration workflows and layouts -- Building the 3T administration interface -- The ManageTasks.js file -- The CompanyForm.js file -- The ProjectForm.js file -- The TaskForm.js file -- The CompanyTree.js file -- Introducing the Ext.data.TreeStore class -- Generating a JSON tree in the CompanyHandler class -- The CompanyHandler.getTreeNodeId() method -- The CompanyHandler.getCompanyTreeJson() method -- Controlling the 3T administration -- Defining the Company model and store -- The doAfterActivate function -- The doSelectTreeItem function -- The doSave functions -- The doDelete functions -- The doAdd functions -- Testing the 3T administration interface -- Dynamically loading tree nodes -- Displaying multiple tree columns -- Drag-and-drop made easy -- Summary -- 13. Moving Your Application to Production -- Compiling with Sencha Cmd -- Ext JS 4 theming -- Compiling for production use -- Integrating Sencha Cmd compiling with Maven -- Adding the build version and timestamp.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">JavaScript (Computer program language)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh96004880</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Web site development.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh98004795</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Internet programming.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh96009904</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Application software</subfield><subfield code="x">Development.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh95009362</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">JavaScript (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Sites Web</subfield><subfield code="x">Développement.</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Programmation Internet.</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Logiciels d'application</subfield><subfield code="x">Développement.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Programming Languages</subfield><subfield code="x">JavaScript.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Web</subfield><subfield code="x">Design.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Application software</subfield><subfield code="x">Development</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Internet programming</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">JavaScript (Computer program language)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Web site development</subfield><subfield code="2">fast</subfield></datafield><datafield tag="758" ind1=" " ind2=" "><subfield code="i">has work:</subfield><subfield code="a">Enterprise application development with Ext JS and Spring (Text)</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCXH6mMH3V8cGjGrt9DkYyd</subfield><subfield code="4">https://id.oclc.org/worldcat/ontology/hasWork</subfield></datafield><datafield tag="776" ind1="0" ind2=" "><subfield code="z">1783285451</subfield></datafield><datafield tag="776" ind1="0" ind2=" "><subfield code="z">1306224268</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Community experience distilled.</subfield><subfield code="0">http://id.loc.gov/authorities/names/no2011030603</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=679991</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="936" ind1=" " ind2=" "><subfield code="a">BATCHLOAD</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">Askews and Holts Library Services</subfield><subfield code="b">ASKH</subfield><subfield code="n">AH26849871</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">ebrary</subfield><subfield code="b">EBRY</subfield><subfield code="n">ebr10822196</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">679991</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-ocn870342822 |
illustrated | Illustrated |
indexdate | 2024-11-27T13:25:47Z |
institution | BVB |
isbn | 9781783285464 178328546X |
language | English |
oclc_num | 870342822 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource (446 pages) : illustrations (some color) |
psigel | ZDB-4-EBA |
publishDate | 2013 |
publishDateSearch | 2013 |
publishDateSort | 2013 |
publisher | Packt Publishing, |
record_format | marc |
series | Community experience distilled. |
series2 | Community experience distilled |
spelling | Gierer, Gerald. Enterprise application development with Ext JS and Spring : develop and deploy a high-performance Java web application using Ext JS and Spring / Gerald Gierer. Birmingham : Packt Publishing, 2013. 1 online resource (446 pages) : illustrations (some color) text txt rdacontent computer c rdamedia online resource cr rdacarrier text file Community experience distilled Online resource; title from PDF title page (EBSCO, viewed July 8, 2017). Designed for intermediate developers, this superb tutorial will lead you step by step through the process of developing enterprise web applications combining two leading-edge frameworks. Take a big leap forward in easy stages. Embark on the exciting journey through the entire enterprise web application development lifecycle Leverage key Spring Framework concepts to deliver comprehensive and concise Java code Build a real world ExtJS web application that interacts with dynamic database driven data In Detail Spring and ExtJS are cutting edge frameworks that allow us to build high performance web applications for modern devices, that are now consuming data at a faster rate than ever before. It is the appropriate time for you to understand how to best leverage these technologies when architecting, designing, and developing large scale web development projects. This practical guide condenses an approach to web development that was gained from real world projects, and outlines a simple, practical approach to developing high performance, and enterprise grade web applications. Starting with configuring Java, Netbeans, and MySQL to prepare your development environment, you will then learn how to connect your Netbeans IDE to the MySQL database server. We will then explore the Task Time Tracker (3T) project database structure and populate these tables with test data. Following on from this, we will examine core JPA concepts after reverse engineering the domain layer with Netbeans. Leveraging the Data Access Object design pattern, you will learn how to build the Java DAO implementation layer assisted by generics in base classes, followed by a Data Transfer Object enabled service layer to encapsulate the business logic of your 3T application. The final chapters that focus on Java explore how to implement the request handling layer using Spring annotated controllers, and deploy the 3T application to the Glassfish server. We will then configure the ExtJS 4 development environment and introduce key ExtJS 4 concepts, including MVC and practical design conventions. Covering a variety of important ExtJS 4 strategies and concepts, you will be fully-equipped to implement a variety of different user interfaces using the ExtJS MVC design pattern. Your journey ends by exploring the production build and deployment process using Maven, Sencha Cmd and Glassfish. English. Intro -- Enterprise Application Development with Ext JS and Spring -- Table of Contents -- Enterprise Application Development with Ext JS and Spring -- Credits -- About the Author -- Acknowledgments -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- What the book covers -- What you need for this book -- Who this book is for -- Application architects -- Java developers -- Ext JS developers -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Preparing Your Development Environment -- Installing MySQL -- Installing the Java SE Development Kit (JDK) -- Installing the NetBeans IDE -- Introducing Maven -- Creating the Maven Web Application project -- Understanding the POM and dependency management -- Understanding dependency scope -- Defining Maven properties -- Understanding Maven-build plugins -- Executing the Maven build -- Starting the GlassFish 4 server -- Running the Task Time Tracker project -- Summary -- 2. The Task Time Tracker Database -- Connecting NetBeans with MySQL -- The 3T database -- The company table -- The projects table -- The tasks table -- The user table -- The task log table -- Enterprise options for the 3T database -- Password encryption -- LDAP integration -- Audit trails -- Logon activity audits -- Custom audit tables -- Summary -- 3. Reverse Engineering the Domain Layer with JPA -- Understanding the reasons for using JPA -- Understanding JPA implementations -- Reverse engineering with NetBeans -- Introducing the persistence.xml file -- Refactoring the Java classes -- The Company.java file -- The @Entity annotation -- The @Table annotation -- The @Id annotation -- The @GeneratedValue annotation -- The @Basic annotation. The @Column annotation -- The @NotNull and @Size annotations -- The @OneToMany annotation -- The @NamedQueries annotation -- The Projects.java file -- The @ManyToOne annotation -- Bidirectional mapping and owning entities -- The Task.java file -- The User.java file -- The TaskLog.java file -- Introducing the Java Persistence Query Language -- Defining named queries -- Refactoring Java equals() and hashCode() -- Summary -- 4. Data Access Made Easy -- Defining the DAO interfaces -- Adding the CompanyDao interface -- Adding the ProjectDao interface -- Defining a generic DAO interface -- The TaskDao interface -- The UserDao interface -- The TaskLogDao interface -- Defining the generic DAO implementation -- The Simple Logging Facade for Java -- The@PersistenceContext(unitName = "tttPU") line -- The @Transactional annotation -- The Propagation.REQUIRED property -- The Propagation.SUPPORTS property -- The readOnly property -- Other transaction properties -- Defining the DAO implementations -- The CompanyDaoImpl class -- The ProjectDaoImpl class -- The TaskDaoImpl class -- The UserDaoImpl class -- The TaskLogDaoImpl class -- A better domain layer -- Exercise -- a simple change request -- Summary -- 5. Testing the DAO Layer with Spring and JUnit -- Unit testing overview -- The benefits of unit testing -- Configuring the test environment -- The jdbc.properties file -- The logback.xml file -- The test-persistence.xml file -- Introducing the Spring IoC container -- Exploring the testingContext.xml file -- The Spring XML namespaces -- The property file configuration -- Creating the JDBC DataSource -- Defining helper beans -- Defining the EntityManagerFactory class -- Configuring the transaction manager -- Autowiring beans -- Thanks for the plumbing! -- Enabling the Maven environment for testing -- Defining a test case superclass. Defining the CompanyDao test case -- Running the JUnit test cases with Maven -- Running the CompanyDaoTest.java file -- The results for the CompanyDaoTests.testMerge test case -- The results for the CompanyDaoTests.testFindAll test case -- The results for the CompanyDaoTests.testFind test case -- Results for the CompanyDaoTests.testPersist test case -- Results for the CompanyDaoTests.testRemove test case -- JPA traps for the unwary -- Exercises -- Summary -- 6. Back to Business -- The Service Layer -- Service layer considerations -- Building the service layer -- The Result Data Transfer Object -- The AbstractService.java class -- The service layer interfaces -- Implementing the service layer -- Authentication, authorization, and security -- The CompanyService implementation -- The TaskService implementation -- The TaskLogService implementation -- Testing the service layer -- Automating the service layer tests -- Exercises -- Summary -- 7. The Web Request Handling Layer -- A brief history of Web MVC -- Request handling for enterprise web applications -- Building the request handling layer -- Preparing for JSON generation -- Implementing the Company addJson method -- Implementing the Project addJson method -- Implementing the Task addJson method -- Implementing the User addJson method -- Implementing the TaskLog addJson method -- A note on JSON -- Creating the request handlers -- Defining the AbstractHandler superclass -- Defining the SecurityHandler class -- The @Controller and @RequestMapping annotations -- The @ResponseBody annotation -- The @RequestParam annotation -- Authenticating a user -- Logging out -- Defining the CompanyHandler class -- Defining the ProjectHandler class -- The Spring HandlerInterceptor interface -- The Spring MVC configuration -- Defining the TaskLogHandler class -- The @InitBinder annotation -- More on Spring MVC. Exercises -- Summary -- 8. Running 3T on GlassFish -- Configuring the 3T web application -- The Spring applicationContext.xml file -- The web.xml file -- The glassfish-web.xml file -- Configuring the Maven pom.xml file -- Adding eclipselink.target-server to the persistence.xml file -- Adding the logback.xml file to your resources directory -- Configuring the GlassFish server -- Renaming the setup directory -- Starting the GlassFish server in NetBeans -- Configuring the JDBC connection pool -- Configuring the JDBC resource -- Running 3T -- Managing GlassFish without NetBeans -- Summary -- 9. Getting Started with Ext JS 4 -- The importance of application design -- Ext JS 4 MVC concepts -- Model -- View -- Controller -- Ext JS 4 flexibility -- Ext JS 4 design conventions and concepts -- Practical conventions -- Project structure -- Naming conventions -- Naming stores and models -- Naming views -- Naming controllers -- Naming xtypes -- The Ext JS 4 development environment -- Installing Sencha Cmd -- Installing Ext JS 4 SDK -- Generating the 3T Ext JS 4 application skeleton -- The index.html file -- The app.js and Application.js files -- The bootstrap.js and bootstrap.css files -- The app/Viewport.js and app/view/Main.js files -- The app/controller/Main.js file -- Creating components using Sencha Cmd -- Generating model skeletons -- Generating views and controllers using Sencha Cmd -- Summary -- 10. Logging On and Maintaining Users -- Layouts, screens, and workflows -- Defining view components -- Building our views -- Defining the Logon window -- Using the initComponent() function -- Defining the viewport -- The MainHeader.js view -- The MainCards.js file -- Defining the Welcome panel -- Defining the user management components -- The ManageUsers.js file -- The UserForm.js file -- The UserList.js file -- The User store -- Models and persistence. Defining the proxy -- Comparing AJAX and REST proxies -- Defining the reader -- Defining the writer -- Defining validations -- Controlling the Logon and Viewport actions -- The MainController.js file -- Controlling our user views -- The doAddUser function -- The doSelectUser function -- The doSaveUser function -- The doDeleteUser function -- Let's log on! -- Let's maintain users -- Summary -- 11. Building the Task Log User Interface -- Task log workflows and layouts -- Building our task log views -- The ManageTaskLogs.js file -- The TaskLogForm.js file -- The TaskLogList.js file -- Defining our models -- The TaskLog Model -- The Project model -- The Task Model -- Defining our stores -- The TaskLog store -- The Project store -- The Task store -- Controlling the TaskLog actions -- Testing the task log interface -- Summary -- 12. 3T Administration Made Easy -- Administration workflows and layouts -- Building the 3T administration interface -- The ManageTasks.js file -- The CompanyForm.js file -- The ProjectForm.js file -- The TaskForm.js file -- The CompanyTree.js file -- Introducing the Ext.data.TreeStore class -- Generating a JSON tree in the CompanyHandler class -- The CompanyHandler.getTreeNodeId() method -- The CompanyHandler.getCompanyTreeJson() method -- Controlling the 3T administration -- Defining the Company model and store -- The doAfterActivate function -- The doSelectTreeItem function -- The doSave functions -- The doDelete functions -- The doAdd functions -- Testing the 3T administration interface -- Dynamically loading tree nodes -- Displaying multiple tree columns -- Drag-and-drop made easy -- Summary -- 13. Moving Your Application to Production -- Compiling with Sencha Cmd -- Ext JS 4 theming -- Compiling for production use -- Integrating Sencha Cmd compiling with Maven -- Adding the build version and timestamp. JavaScript (Computer program language) http://id.loc.gov/authorities/subjects/sh96004880 Web site development. http://id.loc.gov/authorities/subjects/sh98004795 Internet programming. http://id.loc.gov/authorities/subjects/sh96009904 Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 JavaScript (Langage de programmation) Sites Web Développement. Programmation Internet. Logiciels d'application Développement. COMPUTERS Programming Languages JavaScript. bisacsh COMPUTERS Web Design. bisacsh Application software Development fast Internet programming fast JavaScript (Computer program language) fast Web site development fast has work: Enterprise application development with Ext JS and Spring (Text) https://id.oclc.org/worldcat/entity/E39PCXH6mMH3V8cGjGrt9DkYyd https://id.oclc.org/worldcat/ontology/hasWork 1783285451 1306224268 Community experience distilled. http://id.loc.gov/authorities/names/no2011030603 FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=679991 Volltext |
spellingShingle | Gierer, Gerald Enterprise application development with Ext JS and Spring : develop and deploy a high-performance Java web application using Ext JS and Spring / Community experience distilled. Intro -- Enterprise Application Development with Ext JS and Spring -- Table of Contents -- Enterprise Application Development with Ext JS and Spring -- Credits -- About the Author -- Acknowledgments -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- What the book covers -- What you need for this book -- Who this book is for -- Application architects -- Java developers -- Ext JS developers -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Preparing Your Development Environment -- Installing MySQL -- Installing the Java SE Development Kit (JDK) -- Installing the NetBeans IDE -- Introducing Maven -- Creating the Maven Web Application project -- Understanding the POM and dependency management -- Understanding dependency scope -- Defining Maven properties -- Understanding Maven-build plugins -- Executing the Maven build -- Starting the GlassFish 4 server -- Running the Task Time Tracker project -- Summary -- 2. The Task Time Tracker Database -- Connecting NetBeans with MySQL -- The 3T database -- The company table -- The projects table -- The tasks table -- The user table -- The task log table -- Enterprise options for the 3T database -- Password encryption -- LDAP integration -- Audit trails -- Logon activity audits -- Custom audit tables -- Summary -- 3. Reverse Engineering the Domain Layer with JPA -- Understanding the reasons for using JPA -- Understanding JPA implementations -- Reverse engineering with NetBeans -- Introducing the persistence.xml file -- Refactoring the Java classes -- The Company.java file -- The @Entity annotation -- The @Table annotation -- The @Id annotation -- The @GeneratedValue annotation -- The @Basic annotation. The @Column annotation -- The @NotNull and @Size annotations -- The @OneToMany annotation -- The @NamedQueries annotation -- The Projects.java file -- The @ManyToOne annotation -- Bidirectional mapping and owning entities -- The Task.java file -- The User.java file -- The TaskLog.java file -- Introducing the Java Persistence Query Language -- Defining named queries -- Refactoring Java equals() and hashCode() -- Summary -- 4. Data Access Made Easy -- Defining the DAO interfaces -- Adding the CompanyDao interface -- Adding the ProjectDao interface -- Defining a generic DAO interface -- The TaskDao interface -- The UserDao interface -- The TaskLogDao interface -- Defining the generic DAO implementation -- The Simple Logging Facade for Java -- The@PersistenceContext(unitName = "tttPU") line -- The @Transactional annotation -- The Propagation.REQUIRED property -- The Propagation.SUPPORTS property -- The readOnly property -- Other transaction properties -- Defining the DAO implementations -- The CompanyDaoImpl class -- The ProjectDaoImpl class -- The TaskDaoImpl class -- The UserDaoImpl class -- The TaskLogDaoImpl class -- A better domain layer -- Exercise -- a simple change request -- Summary -- 5. Testing the DAO Layer with Spring and JUnit -- Unit testing overview -- The benefits of unit testing -- Configuring the test environment -- The jdbc.properties file -- The logback.xml file -- The test-persistence.xml file -- Introducing the Spring IoC container -- Exploring the testingContext.xml file -- The Spring XML namespaces -- The property file configuration -- Creating the JDBC DataSource -- Defining helper beans -- Defining the EntityManagerFactory class -- Configuring the transaction manager -- Autowiring beans -- Thanks for the plumbing! -- Enabling the Maven environment for testing -- Defining a test case superclass. Defining the CompanyDao test case -- Running the JUnit test cases with Maven -- Running the CompanyDaoTest.java file -- The results for the CompanyDaoTests.testMerge test case -- The results for the CompanyDaoTests.testFindAll test case -- The results for the CompanyDaoTests.testFind test case -- Results for the CompanyDaoTests.testPersist test case -- Results for the CompanyDaoTests.testRemove test case -- JPA traps for the unwary -- Exercises -- Summary -- 6. Back to Business -- The Service Layer -- Service layer considerations -- Building the service layer -- The Result Data Transfer Object -- The AbstractService.java class -- The service layer interfaces -- Implementing the service layer -- Authentication, authorization, and security -- The CompanyService implementation -- The TaskService implementation -- The TaskLogService implementation -- Testing the service layer -- Automating the service layer tests -- Exercises -- Summary -- 7. The Web Request Handling Layer -- A brief history of Web MVC -- Request handling for enterprise web applications -- Building the request handling layer -- Preparing for JSON generation -- Implementing the Company addJson method -- Implementing the Project addJson method -- Implementing the Task addJson method -- Implementing the User addJson method -- Implementing the TaskLog addJson method -- A note on JSON -- Creating the request handlers -- Defining the AbstractHandler superclass -- Defining the SecurityHandler class -- The @Controller and @RequestMapping annotations -- The @ResponseBody annotation -- The @RequestParam annotation -- Authenticating a user -- Logging out -- Defining the CompanyHandler class -- Defining the ProjectHandler class -- The Spring HandlerInterceptor interface -- The Spring MVC configuration -- Defining the TaskLogHandler class -- The @InitBinder annotation -- More on Spring MVC. Exercises -- Summary -- 8. Running 3T on GlassFish -- Configuring the 3T web application -- The Spring applicationContext.xml file -- The web.xml file -- The glassfish-web.xml file -- Configuring the Maven pom.xml file -- Adding eclipselink.target-server to the persistence.xml file -- Adding the logback.xml file to your resources directory -- Configuring the GlassFish server -- Renaming the setup directory -- Starting the GlassFish server in NetBeans -- Configuring the JDBC connection pool -- Configuring the JDBC resource -- Running 3T -- Managing GlassFish without NetBeans -- Summary -- 9. Getting Started with Ext JS 4 -- The importance of application design -- Ext JS 4 MVC concepts -- Model -- View -- Controller -- Ext JS 4 flexibility -- Ext JS 4 design conventions and concepts -- Practical conventions -- Project structure -- Naming conventions -- Naming stores and models -- Naming views -- Naming controllers -- Naming xtypes -- The Ext JS 4 development environment -- Installing Sencha Cmd -- Installing Ext JS 4 SDK -- Generating the 3T Ext JS 4 application skeleton -- The index.html file -- The app.js and Application.js files -- The bootstrap.js and bootstrap.css files -- The app/Viewport.js and app/view/Main.js files -- The app/controller/Main.js file -- Creating components using Sencha Cmd -- Generating model skeletons -- Generating views and controllers using Sencha Cmd -- Summary -- 10. Logging On and Maintaining Users -- Layouts, screens, and workflows -- Defining view components -- Building our views -- Defining the Logon window -- Using the initComponent() function -- Defining the viewport -- The MainHeader.js view -- The MainCards.js file -- Defining the Welcome panel -- Defining the user management components -- The ManageUsers.js file -- The UserForm.js file -- The UserList.js file -- The User store -- Models and persistence. Defining the proxy -- Comparing AJAX and REST proxies -- Defining the reader -- Defining the writer -- Defining validations -- Controlling the Logon and Viewport actions -- The MainController.js file -- Controlling our user views -- The doAddUser function -- The doSelectUser function -- The doSaveUser function -- The doDeleteUser function -- Let's log on! -- Let's maintain users -- Summary -- 11. Building the Task Log User Interface -- Task log workflows and layouts -- Building our task log views -- The ManageTaskLogs.js file -- The TaskLogForm.js file -- The TaskLogList.js file -- Defining our models -- The TaskLog Model -- The Project model -- The Task Model -- Defining our stores -- The TaskLog store -- The Project store -- The Task store -- Controlling the TaskLog actions -- Testing the task log interface -- Summary -- 12. 3T Administration Made Easy -- Administration workflows and layouts -- Building the 3T administration interface -- The ManageTasks.js file -- The CompanyForm.js file -- The ProjectForm.js file -- The TaskForm.js file -- The CompanyTree.js file -- Introducing the Ext.data.TreeStore class -- Generating a JSON tree in the CompanyHandler class -- The CompanyHandler.getTreeNodeId() method -- The CompanyHandler.getCompanyTreeJson() method -- Controlling the 3T administration -- Defining the Company model and store -- The doAfterActivate function -- The doSelectTreeItem function -- The doSave functions -- The doDelete functions -- The doAdd functions -- Testing the 3T administration interface -- Dynamically loading tree nodes -- Displaying multiple tree columns -- Drag-and-drop made easy -- Summary -- 13. Moving Your Application to Production -- Compiling with Sencha Cmd -- Ext JS 4 theming -- Compiling for production use -- Integrating Sencha Cmd compiling with Maven -- Adding the build version and timestamp. JavaScript (Computer program language) http://id.loc.gov/authorities/subjects/sh96004880 Web site development. http://id.loc.gov/authorities/subjects/sh98004795 Internet programming. http://id.loc.gov/authorities/subjects/sh96009904 Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 JavaScript (Langage de programmation) Sites Web Développement. Programmation Internet. Logiciels d'application Développement. COMPUTERS Programming Languages JavaScript. bisacsh COMPUTERS Web Design. bisacsh Application software Development fast Internet programming fast JavaScript (Computer program language) fast Web site development fast |
subject_GND | http://id.loc.gov/authorities/subjects/sh96004880 http://id.loc.gov/authorities/subjects/sh98004795 http://id.loc.gov/authorities/subjects/sh96009904 http://id.loc.gov/authorities/subjects/sh95009362 |
title | Enterprise application development with Ext JS and Spring : develop and deploy a high-performance Java web application using Ext JS and Spring / |
title_auth | Enterprise application development with Ext JS and Spring : develop and deploy a high-performance Java web application using Ext JS and Spring / |
title_exact_search | Enterprise application development with Ext JS and Spring : develop and deploy a high-performance Java web application using Ext JS and Spring / |
title_full | Enterprise application development with Ext JS and Spring : develop and deploy a high-performance Java web application using Ext JS and Spring / Gerald Gierer. |
title_fullStr | Enterprise application development with Ext JS and Spring : develop and deploy a high-performance Java web application using Ext JS and Spring / Gerald Gierer. |
title_full_unstemmed | Enterprise application development with Ext JS and Spring : develop and deploy a high-performance Java web application using Ext JS and Spring / Gerald Gierer. |
title_short | Enterprise application development with Ext JS and Spring : |
title_sort | enterprise application development with ext js and spring develop and deploy a high performance java web application using ext js and spring |
title_sub | develop and deploy a high-performance Java web application using Ext JS and Spring / |
topic | JavaScript (Computer program language) http://id.loc.gov/authorities/subjects/sh96004880 Web site development. http://id.loc.gov/authorities/subjects/sh98004795 Internet programming. http://id.loc.gov/authorities/subjects/sh96009904 Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 JavaScript (Langage de programmation) Sites Web Développement. Programmation Internet. Logiciels d'application Développement. COMPUTERS Programming Languages JavaScript. bisacsh COMPUTERS Web Design. bisacsh Application software Development fast Internet programming fast JavaScript (Computer program language) fast Web site development fast |
topic_facet | JavaScript (Computer program language) Web site development. Internet programming. Application software Development. JavaScript (Langage de programmation) Sites Web Développement. Programmation Internet. Logiciels d'application Développement. COMPUTERS Programming Languages JavaScript. COMPUTERS Web Design. Application software Development Internet programming Web site development |
url | https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=679991 |
work_keys_str_mv | AT gierergerald enterpriseapplicationdevelopmentwithextjsandspringdevelopanddeployahighperformancejavawebapplicationusingextjsandspring |