Modiwl ICP-2152:
Java Technologies

Ffeithiau’r Modiwl

Rhedir gan School of Computer Science and Electronic Engineering

10 Credyd neu 5 Credyd ECTS

Semester 2

Trefnydd: Mr Cameron Gray

Amcanion cyffredinol

To explore a range of Java based technologies from amongst the following: AWT and Swing libraries, JavaFX, RMI, database programming using JDBC, APIs for text processing (e.g.XML, Regular Expressions), web technologies(e.g. servlets, JSP and JSF) and Web services (e.g. SOAP, REST).

Cynnwys cwrs

  • Use of the JDBC API to connect to a database; database programming facilities in Java; use of open-source databases (e.g. MySQL ) and lightweight Java databases (e.g.HSQL, Derby).

  • The three-tier web application model; the JSF web application framework; JSF interface components; Java Beans; page navigation; session tracking; data validation; Java servlets; AJAX.

  • Remote Procedure Call; Java Remote Method Invocation technology, RMI Architecture; Remote object programs; RMI registry.

  • Web services; JAX-WS and JAX-RS; Publishing and consuming web services; SOAP; REST; JSON; Creating web services; Describing Web services using WSDL; Creating REST based services.

  • Regular expressions; metacharacters;matching text with regular expressions; modifying text with regular expressions.

  • XML elements and attributes; parsing XML documents; creating XML documents; use of DTDs to validate XML documents; use regular expressions to define a DTD; the DOM standard; SAX interface; XPath syntax.

Cyswllt Canlyniad dysgu i Meini Prawf

  threshold

40%

good

60%

excellent

70%

Use project management software (e.g. Maeven) to support development process.

Can create a Maeven project and utilise basic project facilities e.g. test suites. Use a GUI builder tool to provide a visual interface to an application; create/use a range of dependencies; access a database; can with guidance use POM files to manage project development. Independently develop and modify POM files; use Maeven in various environments (e.g. Unix command line).

Develop applications with appropriate user front-ends to access and manipulate data in a relational database.

Write well-structured code which may be easily reused across a range of DBMSs; access and appropriately utlise meta-data. Make use of advanced features of JDBC including: stored procedures, transaction processing, row sets and cached row sets. Connect to, query and manipulate a database using a JDBC driver and the java.sql package

Encode data using XML, define DTDs for XML documents, make use of an XML parser.

Design an XML document on the basis of informal data descriptions; describe the role that XML plays in web applications. Define a DTD for use with an XML document; use a range of techniques to generate and validate XML files. Successfully parse an XML document of arbitrary complexity using either the SAX and DOM parsing API; understand a DTD.

Develop a range of applications using various Java APIs, such as Swing and AWT, RMI, Regular Expressions, JavaFX.

Write simple 'toy' applications illustrating use of specific Java APIs; read and understand API documentation. Develop non-trivial applications (500-1,000 lines of code) using a selected range of Java APIs; use AWT and Swing to develop graphical user interfaces. Develop non-trivial applications (500-1,000 lines of code) using advanced or complex features of a selected range of Java APIs.

Design and build three-tier web applications using a variety of web technologies (Servlets, JSPs, Java Server Faces, REST and SOAP Web Services).

Utilise appropriate Java technologies for separation of coding tasks from interface design; use a range of interface components; develop non-trivial web applications using various Java technologies and database management systems. Provide a detailed account of how a web application is installed and subsequently executed on an application server such as Glassfish. Describe the architecture of a web application; describe the three-tier model; write a simple 'toy' web application.

Dulliau asesu

Math Enw Disgrifiad Pwysau
Individual Programming Mini-Projects 60
Group Project 40

Strategaeth addysgu a dysgu

Oriau
Laboratory 24
Private study 76

Sgiliau Trosglwyddadwy

  • Llythrennedd - Medrusrwydd mewn darllen ac ysgrifennu drwy amrywiaeth o gyfryngau
  • Rhifedd - Medrusrwydd wrth ddefnyddio rhifau ar lefelau priodol o gywirdeb
  • Defnyddio cyfrifiaduron - Medrusrwydd wrth ddefnyddio ystod o feddalwedd cyfrifiadurol
  • Hunanreolaeth - Gallu gweithio mewn ffordd effeithlon, prydlon a threfnus. Gallu edrych ar ganlyniadau tasgau a digwyddiadau, a barnu lefelau o ansawdd a phwysigrwydd
  • Archwilio - Gallu ymchwilio ac ystyried dewisiadau eraill
  • Adalw gwybodaeth - Gallu mynd at wahanol ac amrywiol ffynonellau gwybodaeth
  • Sgiliau Rhyngbersonol - Gallu gofyn cwestiynau, gwrando'n astud ar atebion a'u harchwilio
  • Dadansoddi Beirniadol & Datrys Problem - Gallu dadelfennu a dadansoddi problemau neu sefyllfaoedd cymhleth. Gallu canfod atebion i broblemau drwy ddadansoddiadau ac archwilio posibiliadau
  • Gwaith Tîm - Gallu cydweithio'n adeiladol ag eraill ar dasg gyffredin, ac/neu fod yn rhan o dîm gweithio o ddydd i ddydd
  • Arweinyddiaeth - Gallu arwain a rheoli, datblygu cynlluniau gweithredu ac amcanion, cynnig arweiniad a chyfarwyddyd i eraill, ac ymdopi â'r pwysau sy'n gysylltiedig ag awdurdod o'r fath

Sgiliau pwnc penodol

  • Knowledge and understanding of facts, concepts, principles & theories
  • Use of such knowledge in modelling and design
  • Problem solving strategies
  • Deploy theory in design, implementation and evaluation of systems
  • Knowledge of information security issues
  • Specify, design or construct computer-based systems
  • Deploy tools effectively
  • Work as a member of a development team
  • Development of general transferable skills
  • Defining problems, managing design process and evaluating outcomes
  • System Design
  • Knowledge and/or understanding of appropriate scientific and engineering principles

Rhagofynion a Chydofynion

Cyrsiau sy’n cynnwys y modiwl hwn