โครงการนี้มีพอร์ทัลเว็บอินเตอร์เฟสสำหรับผู้ใช้ปลายทางในการทำงานกับกระบวนการอนุมัติสินเชื่อของ Westbank สมมติ นอกจากนี้เพื่อวัตถุประสงค์ในการทดสอบยังมีบริการเว็บที่ให้ฟังก์ชั่นทางธุรกิจที่จำเป็นที่ใช้โดยกระบวนการอนุมัติสินเชื่อ
พอร์ทัลสามารถปรับใช้เป็นแอปพลิเคชัน ( *.war ) ในเว็บแอปพลิเคชันเซิร์ฟเวอร์เช่น Apache Tomcat, Eclipse Jetty, JBoss Wildfly เป็น ฯลฯ อย่างไรก็ตามเราสามารถเรียกใช้โดยตรงที่บรรทัดคำสั่ง
ไปที่โฟลเดอร์โครงการและดำเนินการตามคำสั่งต่อไปนี้
mvn jetty:runจากนั้นเปิดเว็บเบราว์เซอร์ไปที่ http: // localhost: 9999/พอร์ทัลสำหรับหน้าหลักพอร์ทัล
หน้าอื่น ๆ สำหรับการพัฒนา/ทดสอบ
การตรวจสอบฐานข้อมูลพื้นฐาน (ดู com.westbank.web.DevController ): http: // localhost: 9999/พอร์ทัล/dev.html
การตรวจสอบรายการบริการเว็บที่รัน: http: // localhost: 9999/พอร์ทัล/บริการ
หากต้องการเข้าสู่ระบบในฐานะพนักงาน (ผู้จัดการ, หัวหน้างานเสมียนหรือนายหน้า) ไปที่หน้า: http: // localhost: 9999/พอร์ทัล/พนักงาน/login.html
หมายเหตุ: ID และรหัสผ่านสำหรับพนักงานมีการระบุไว้ชั่วคราวในหน้า http: // localhost: 9999/พอร์ทัล/dev.html
mvn -DskipTests clean package เนื่องจากการเปลี่ยนไปใช้การกำหนดค่า XML-Less ด้วย Servlet 3.0+ การกำหนดค่าเว็บแอปพลิเคชันหลักคือ PortalWebApplicationInitializer แทนที่จะเป็น WEB-INF/web.xml แบบดั้งเดิม
PortalWebApplicationInitializer โหลดบริบทรูทและลงทะเบียนสองการกำหนดค่า PersistenceConfiguration (สำหรับการเข้าถึงข้อมูล) และ ServiceConfiguration (สำหรับการเผยแพร่บริการเว็บ/SOAP)AnnotationConfigWebApplicationContext สำหรับ Spring DispatcherServletAnnotationConfigWebApplicationContext ลงทะเบียนการกำหนดค่า MVC ใน WebMvcConfigurationDispatcherServlet จะให้บริการทั้งหมด *.html และ /portal/*PortalWebApplicationInitializer จะโหลด Servlet CXFServlet อื่นเพื่อให้บริการบริการเว็บ/SOAP AT /services/* การกำหนดค่าสำหรับ Spring MVC อยู่ใน WebMvcConfiguration :
มันใช้ WebMvcConfigurer และมีคำอธิบายประกอบด้วย @EnableWebMvc (เทียบเท่ากับ <mvc:annotation-driven /> ในฤดูใบไม้ผลิ XML)
เปิดใช้งานการจัดการ servlet เริ่มต้น
มันเพิ่ม ResourceHandlers ให้บริการ /resources/
มันกำหนดค่า View Resolver เพื่อให้บริการ JSP/JSTL AT /WEB-INF/view/ และสำหรับ .jsp
มันกำหนดค่า MessageSource เพื่อให้บริการหลายภาษาที่ i18n/messages-XXX.properties
ทรัพยากรอื่น ๆ เช่น CSSS รูปภาพและ Javassripts อยู่ในโฟลเดอร์ src/main/webapp/[css | images | js ] .
src/main/resources/i18n/messages.properties สำหรับข้อมูลที่แสดงต่อลูกค้าเช่นความสำเร็จและการแจ้งเตือนข้อผิดพลาด
src/main/resources/logback.xml สำหรับ logback
การจัดการข้อมูลและการคงอยู่จะทำโดยใช้ Spring JPA / Hibernate ที่กำหนดค่าผ่านการ PersistenceConfiguration
@Configuration @EnableJpaRepositories , @EnableTransactionManagement , @ComponentScanjavax.sql.DataSource ด้วยการดำเนินการพื้นฐาน HikariDataSource ของ HikaricpentityManagerFactory ด้วย LocalContainerEntityManagerFactoryBeanJpaTransactionManagerDataSourceInitializer เพื่อตั้งค่าข้อมูลบางส่วนโดยใช้สคริปต์ load-user-and-role.sql หน่วยงานโดเมนมีคำอธิบายประกอบกับการประชุม JPA ใน com.westbank.domain
ข้อมูลที่เก็บข้อมูลอยู่ใน com.westbank.repository สำหรับการจัดการข้อมูล/วัตถุพื้นฐานโดยใช้ EntityManager
บริการข้อมูล (รวมถึงตรรกะทางธุรกิจบางอย่าง) อยู่ใน com.westbank.service ทำงานอยู่ด้านบนของที่เก็บ
RDBMS ที่ใช้ในปัจจุบันคือ H2 ในหน่วยความจำสำหรับรอยเท้าหน่วยความจำขั้นต่ำ อย่างไรก็ตามสามารถใช้ RDBM อื่น ๆ ได้เช่นกัน ในการใช้ RDBMS อื่น ๆ แทนโปรดทราบจุดต่อไปนี้:
WESTBANKDBwestbank ด้วยรหัส secret และกำหนดผู้ใช้นั้นให้กับฐานข้อมูลหรือใช้ค่าที่คุณต้องการและอัปเดต hibernate.properties ตามลำดับpom.xmlmvn jetty:run เพื่อตรวจสอบว่าเว็บแอปพลิเคชันทำงานได้หรือไม่logback.xml สำหรับการดีบัก โครงการนี้ยังรวมถึงบริการเว็บบางแห่งโดยใช้ JAX-WS / Apache CXF เพื่อให้ฟังก์ชั่นทางธุรกิจที่จำเป็นโดยกระบวนการอนุมัติสินเชื่อ อินเทอร์เฟซบริการเว็บเหล่านี้ ( *.wsdl ) อยู่ในโฟลเดอร์ WEB-INF/wsdl
|
+-- BankInformation.wsdl
+-- BankPrivilege.wsdl
+-- CreditWorthiness.wsdl
+-- LoanApprovalClosing.wsdl
+-- LoanFile.wsdl
+-- LoanContract.wsdl
+-- LoanContractSigning.wsdl
+-- LoanRisk.wsdl
+-- LoanSettlement.wsdl
+-- TaskDispatch.wsdl
|
+-- CallbackLoanContract.wsdl
+-- CallbackLoanApproval.wsdl
ปลั๊กอิน Maven cxf-codegen-plugin ของ Apache CXF ใช้เพื่อสร้างรหัส Java จากบริการดังกล่าว (เช่น การพัฒนาบริการฉบับแรก ) แหล่ง Java ที่สร้างขึ้นอยู่ภายใต้แพ็คเกจพื้นฐาน com.westbank.ws
ปลั๊กอิน M2EClipse ที่รองรับ Maven ใน Eclipse จะเรียกใช้ Apache CXF
cxf-codegen-pluginเมื่อใดก็ตามที่คุณนำเข้าโครงการนี้ไปยัง Eclipse สิ่งที่สร้างขึ้นจะถูกเขียนทับโดยไม่จำเป็น ดังนั้นปลั๊กอินจึงถูกปิดใช้งานในขณะนี้ เมื่อใดก็ตามที่ WSDL ได้รับการแก้ไขโปรดเปิดใช้งานปลั๊กอินนี้และเรียกใช้งานคำสั่งmvn generate-sourcesเพื่อสร้างรหัส Java อีกครั้ง
การใช้งานจริงของตรรกะทางธุรกิจของแต่ละบริการเว็บอยู่ในคลาส Java ที่สอดคล้องกันชื่อ com.westbank.ws.impl.XXXImpl ซึ่ง ' xxx ' เป็นชื่อของบริการเว็บนั้น ในการเปลี่ยนบริการเหล่านี้ให้ดูที่โฟลเดอร์ WEB-INF/wsdl หลังจากแก้ไข WSDLs เพียงเรียกใช้ mvn clean generate-sources เพื่อสร้างรหัส Java อีกครั้ง
การกำหนดค่าสำหรับการเผยแพร่บริการเว็บโดยใช้ Apache CXF และ Spring มีให้ใน ServiceConfiguration ที่โหลดโดยบริบทของแอปพลิเคชันรูท มันโหลดคำจำกัดความของบริการถั่วใน ServiceBeans
เมื่อเว็บแอปพลิเคชันกำลังทำงานให้เปิดเว็บเบราว์เซอร์ที่ http: // localhost: 9999/พอร์ทัล/บริการเพื่อดูรายการบริการเว็บที่กำลังทำงาน
เพื่อวัตถุประสงค์ในการทดสอบและการสาธิตเพิ่มเติมค่าพิเศษบางอย่างเป็นรหัสยากใน Logics บริการเว็บ:
com.westbank.ws.impl.BankPrivilegeImpl )com.westbank.ws.impl.BankInformationImpl )com.westbank.ws.impl.LoanRiskImpl )com.westbank.ws.impl.TaskDispatchImpl )true มิฉะนั้น false (ดู com.westbank.ws.impl.CreditWorthinessImpl )