지난 몇 년간 XML 기술은 인터넷에서 정보를 교환하기 위한 형식으로 널리 사용되었습니다. 오늘날 XML은 별도의 기술로 인식되는 경우가 종종 있지만 XML은 원래 HTML과 SGML의 중간 정도 수준의 인터넷 기술로 탄생했습니다. 이 문서에서는 데이터베이스와 최종 사용자 간의 "전송 프로토콜"로 사용되는 XML에 대해 설명합니다.
가장 일반적인 관계형 데이터베이스 관리 시스템에서는 데이터 작업 시 SQL 쿼리를 사용합니다. XML 지향적인 데이터베이스도 이미 시장에 출시되었지만 아직 널리 사용되지는 않습니다. XML의 대중성을 의식한 관계형 데이터베이스 개발 업체들은 자사 제품에 XML 호환성을 추가함으로써 앞서 나가려 하고 있습니다. 이 문서에서는 이러한 접근법 중 하나인, 데이터베이스에서 XML을 반환하는 기술에 대해 소개합니다. 예제 코드에서는 XML 데이터로 작업하기 위한 메커니즘이 이미 구현되어 있는 XML 호환 데이터베이스라고 할 수 있는 Oracle 데이터베이스가 사용되었습니다.
이 문서는 두 부분으로 구성되어 있습니다. 첫 번째 부분에서는 Oracle 데이터베이스를 사용하고, SQL 쿼리를 만들고, XML 출력을 수신하기 위한 Java 코드를 준비합니다. 두 번째 부분에서는 데이터베이스에서 XML 데이터를 수신하고 HTML 텍스트로 출력하는 웹 애플리케이션에 대해 설명합니다.
이 문서에서 사용된 소프트웨어는 다음과 같습니다.
이 문서의 코드는 Microsoft Windows XP에서 실행되었지만 코드를 약간만 변경하면 모든 운영 체제에서 작동됩니다.
이 문서는 BEA WebLogic Server에 익숙하고 JDBC를 이용한 프로그래밍 경험이 있는 전문 Java 개발자를 대상으로 합니다.
JDBC 커넥션 풀 및 데이터 소스 구성에 익숙한 분은 이 섹션을 건너뛰십시오.
먼저 커넥션 풀과 데이터 소스를 구성해야 합니다. 나중에 JNDI를 사용하여 코드에서 데이터 소스를 검색하는데, 이를 위해서는 약간의 구성이 필요합니다. 데이터베이스에 대한 커넥션을 보유하는 JDBC 커넥션 풀을 구성해야 합니다. WebLogic 콘솔에 로그인하고 Service Configurations -> JDBC -> Connection Pools 노드를 선택합니다.
Configure a new JDBC Connection Pool... 링크를 선택하여 새 커넥션 풀을 만듭니다. 다음 화면에서 데이터베이스 유형과 드라이버를 선택합니다(그림 1).
그림 1. JDBC 커넥션 풀: 데이터베이스 선택
선택할 수 있는 여러 데이터베이스가 표시됩니다. Database Type으로 Oracle 선택하고, Database Driver로 BEA's Oracle Driver (Type 4)를 선택합니다. Continue 를 눌러서 커넥션 속성을 정의합니다(그림 2)
그림 2. JDBC 커넥션 풀: 커넥션 속성
이 화면에서는 JDBC 커넥션 풀에 대한 이름을 선택하고 데이터베이스 이름, 호스트 이름, 연결할 포트, 사용자 이름 및 암호와 같은 추가 데이터베이스 파라미터를 설정합니다.
데이터베이스와 테이블을 새로 만드는 대신 Oracle의 샘플 SCOTT/TIGER 스키마와 EMP 테이블을 사용합니다. 이 샘플은 거의 모든 Oracle 제품 설치 시 함께 설치되므로 사용자가 추가로 구성할 필요가 없습니다. EMP 테이블이 없거나 비어 있으면 Oracle 디렉토리 \sqlplus\demo\demobld.sql에 있는 스크립트를 사용하여 처음부터 다시 테이블을 작성하고 데이터를 채운 다음 \sqlplus\demo\demodrop.sql을 사용하여 이전 값을 삭제합니다.
다음의 파라미터를 적절히 설정한 다음 Continue를 클릭합니다(그림 3).
그림 3. JDBC 커넥션 풀: 커넥션 테스트
일반적으로 이 페이지에서는 아무 것도 변경할 필요가 없습니다. 이 페이지는 커넥션 테스트 페이지입니다(Skip This Step 버튼을 클릭하여 건너뛸 수 있음). WebLogic Server는 드라이버 클래스 이름, URL(JDBC 드라이버용) 및 검토를 위한 자격 증명과 같은 데이터베이스 파라미터를 보여줍니다. 파라미터를 검토한 후 커넥션을 테스트할 수 있습니다. Test Driver Configuration 링크를 클릭합니다. 잘못된 사항이 없으면 "Connection Successful" 메시지가 표시됩니다. Create and deploy 버튼을 클릭하면 JDBC 커넥션 풀 구성이 완료됩니다.
JDBC 커넥션 풀 작업이 끝나면 적합한 데이터 소스를 만들어야 합니다. WebLogic Server 콘솔의 기본 페이지로 돌아가서 Service Configurations -> JDBC -> Data Source를 선택합니다. 다음 화면에서 Configure a new JDBC Data Source 링크를 클릭합니다. 데이터 소스 구성 페이지가 표시됩니다(그림 4).
그림 4. JDBC 데이터 소스: 구성
JDBC 데이터 소스 이름과 이 JDBC 데이터 소스가 바인딩될 JNDI 경로를 정의해야 합니다. JNDI 경로는 나중에 코드에서 커넥션을 설정할 때 사용할 것이므로 잘 기억해야 합니다. 이제 Continue를 선택한 다음 데이터 소스를 연결할 정확한 커넥션 풀을 선택합니다. 바로 전에 만든 커넥션 풀을 선택하고 Continue를 클릭합니다. 다음 페이지에서는 데이터 소스를 배포할 서버 및 클러스터를 선택할 수 있습니다. 목록에서 필요한 항목을 확인한 다음 Create를 클릭합니다. 데이터 소스가 생성되었으므로 이제 코드 작성을 시작할 수 있습니다.
이제 간단한 클라이언트 애플리케이션을 작성하기 위한 환경을 준비합니다. SQL 쿼리를 만들고 XML 데이터를 출력으로 수신하기 위해 Oracle XSU(XML-SQL 유틸리티)를 사용할 것입니다. Oracle XML-SQL Utility 라이브러리 및 Oracle XML 파서에 연결되는 CLASSPATH 변수를 구성해야 합니다. 일반적으로 XSU는 Oracle 경로 \rdbms\jlib\xsu12.jar
에 있으며 XML 파서는 \lib\xmlparserv2.jar
에 있습니다. 또한 JNDI를 사용하기 때문에 CLASSPATH에 weblogic.jar
이 있어야 합니다. 일반적으로 이 파일은 WebLogic Server 설치 디렉토리인 \bea\weblogic81\server\lib\weblogic.jar
에 있습니다.
일반적으로 CLASSPATH는 다음과 같습니다.
CLASSPATH=c:\Program Files\java\jdk1.5.0_01\lib;.; C:\DevSuiteHome\rdbms\jlib\xsu12.jar; C:\DevSuiteHome\lib\xmlparserv2.jar; C:\bea\weblogic81\server\lib\weblogic.jar;
코드를 살펴보기 전에 먼저 Oracle에서 XML로 작업하는 데에는 두 가지 방식이 있음을 주목할 필요가 있습니다. 이 두 방식은 서로 다르기 때문에 자신에게 적합한 방식을 사용해야 합니다. 첫 번째 방식은 모든 SQL 쿼리로부터 XML을 반환하도록 지원하는 Oracle XSU를 사용하는 것입니다. 두 번째 방식은 Oracle의 XMLType 열 유형을 사용하는 것입니다.
XMLType 열을 사용하면 XML을 데이터베이스 내의 네이티브 데이터 형식으로 취급할 수 있습니다. 따라서 이러한 열은 다른 열 유형과 마찬가지로 쿼리에 참여할 수 있습니다. Oracle에서는 XMLType 데이터 객체를 구성할 수 있도록 XMLTYPE()
함수를 제공하며, 이 데이터 형식을 사용할 수 있도록 XMLELEMENT()
및 XMLAGG()
와 같은 서로 다른 함수를 제공합니다. 이 방식에 대한 자세한 내용과 예는 Oracle 드라이버에 대한 WebLogic Server 설명서 또는 Oracle Technology Network에서 찾아볼 수 있습니다. 이 문서에서는 XSU 방식에 대해서만 다룹니다.
다음은 Oracle 데이터베이스에서 SQL 쿼리를 만들고 XML 출력을 생성하기 위해 필요한 전체 소스 코드(oraxml.java
)입니다.
1. import javax.naming.*; 2. import javax.sql.*; 3. import java.sql.*; 5. import oracle.xml.sql.query.*; 5. public class oraxml 6. { 7. public static void main(String args[]) throws SQLException, NamingException 8. { 9. String tabName = "emp"; 10. int maxRows = 3; 11. Context ctx = new InitialContext (); 12. DataSource ds = (DataSource) ctx.lookup ("MyOra"); 13. Connection conn = ds.getConnection (); 14. OracleXMLQuery qu = new OracleXMLQuery ( conn, "select EMPNO, ENAME from " + tabName); 15. qu.setMaxRows (maxRows); 16. qu.setRowsetTag ("EMPLOYERS"); 17. qu.setRowTag ("PERSON"); 18. String xmlString = qu.getXMLString(); 19. System.out.println (xmlString); 20. conn.close (); 21. } 22. }
코드는 매우 간단합니다. 11-12번 줄은 JNDI 이름이 MyOra
인 데이터 소스를 검색합니다. 13 및 20번 줄은 커넥션을 구성하고 종료합니다. 가장 흥미로운 줄은 소위 "XML 쿼리"를 구성하는 14-18번 줄입니다. 기술적으로 이것은 XSU에 의해 XML로 변환된 SQL 쿼리입니다. 14번 줄은 쿼리를 초기화합니다. 15-17번 줄은 향후 XML 문서의 구조를 설정합니다. 15번 줄은 반환되는 행의 최대 개수를 설정하는데, 이 값은 maxRows
로 제한됩니다. 16 및 17번 줄은 문서의 루트 요소와 항목 구분자를 설정합니다. 18번 줄은 XML 문서를 생성하고 이를 xmlString
변수에 저장합니다. 이와 같이 코드는 매우 간단하며 이해하기 쉽습니다. 편집자 노트: 이 코드는 프로덕션 코드가 아닙니다. finally
절에서는 커넥션을 종료해야 합니다.
다시 한 번 말하지만 이 코드에서는 JNDI가 사용됩니다. JNDI는 독립 실행형 Java 애플리케이션이므로 이를 사용하려면 네이밍 제공자(naming provider)를 설정해야 합니다. 여기에서는 WebLogic Server를 사용할 텐데, 이를 구성하기 위해 jndi.properties 파일을 만들고 classpath에서 이 파일에 액세스할 수 있도록 해야 합니다. CLASSPATH의 경로에 현재 디렉토리(.)가 있으면 현재 디렉토리에 jndi.properties
를 두어야 합니다. 다음은 jndi.properties
파일입니다.
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory java.naming.provider.url=t3://localhost:7001
다음은 일반적인 컴파일 명령과 프로그램 실행 결과를 보여줍니다(출력은 maxRows
로 제한됨).
C:\white\work\Java\xmlweb_src>javac oraxml.java C:\white\work\Java\xmlweb_src>java oraxml <?xml version = '1.0'?> <EMPLOYERS> <PERSON num="1"> <EMPNO>7369</EMPNO> <ENAME>SMITH</ENAME> </PERSON> <PERSON num="2"> <EMPNO>7499</EMPNO> <ENAME>ALLEN</ENAME> </PERSON> <PERSON num="3"> <EMPNO>7521</EMPNO> <ENAME>WARD</ENAME> </PERSON> </EMPLOYERS>
Oracle XML-SQL Utility에 대해 좀 더 자세히 살펴보겠습니다. 알다시피 이 유틸리티는 SQL 쿼리를 실행하고 XML 형식의 출력을 반환하기 위해 사용할 수 있는 매우 편리한 유틸리티입니다. 하지만 XSU의 기능은 여기서 그치지 않습니다. XSU는 동적으로 DTD(Document Type Definitions)를 생성하는 등의 작업을 수행하고 간단한 변환을 수행할 수 있습니다. 또한 해당 문자열 또는 DOM 표현으로 XML 문서를 생성하고, 데이터베이스 테이블 또는 뷰에 XML을 삽입하고, 데이터베이스 객체의 레코드를 업데이트 또는 삭제하고, 지정된 XML 문서로 복잡하게 중첩된 XML 문서를 생성할 수 있습니다. 플랫 테이블에 대한 객체 뷰를 만들고 이러한 뷰를 쿼리함으로써 관계형 테이블에 XML을 저장할 수도 있습니다. 또한 Oracle9i부터는 XSU가 SQL 쿼리에 대해 XML 스키마를 생성할 수 있으며, 생성 중에 XML 속성을 지원하기도 합니다. 필요에 따라 XSU 기능을 사용할 수 있는 방법을 충분히 살펴보려면 XSU 설명서를 참조하십시오.
이번에는 이 자습서에서 설명하는 XML 전송 방법의 이점과 이것이 왜 유용한가에 대해 설명하고자 합니다. 이 문서를 읽다 보면 왜 여기에서 XML을 사용하는지, XML을 왜 "브리지(bridge)"라고 부르는지 궁금할 것입니다. 간단한 예를 통해 XML을 "브리지"로 사용하는 이점을 가장 잘 설명할 수 있습니다. SQL 데이터베이스에서 최종 사용자에게 뉴스를 제공하도록 설계된 정보 포털이 있다고 가정해보겠습니다. 최종 사용자는 WAP 브라우저를 사용하는 모바일 사용자일 수도 있고 최신 브라우저를 사용하는 일반 웹 사용자일 수도 있습니다. 또한 정보 소유자인 포털 운영자는 뉴스를 다른 최종 사용자에게 재판매할 수 있으며 이렇게 재판매된 뉴스는 "Acme, Corp.에서 전하는 뉴스", "Big Company에서 전하는 최신 뉴스" 등과 같이 다른 제목으로 표시될 수 있습니다. 하지만 포털 운영자가 제공하는 뉴스 내용 자체는 달라지지 않습니다. 이렇게 기술적으로 단지 "모양과 느낌"만 바꿔야 할 경우, 뉴스를 받아 보는 수 많은 최종 사용자를 위해 별도의 코딩 작업을 해야 할 필요가 있을까요?
이런 경우 한편으로 SQL을 수신하고 다른 한편으로 서로 다른 포맷을 생성하는 투명한 브리지가 필요하다는 것을 알 수 있습니다. 이러한 브리지가 바로 XML입니다. 데이터베이스에 대한 요청을 수행하고, XML 출력을 수신하고, XSL 템플릿을 이에 적용하고, 최종 사용자를 위한 페이지를 만드는 작업은 모두 서블릿에서 수행됩니다. 따라서 XSL에서 디자인만 변경하면 더 이상 필요한 것이 없습니다. 추가 코딩도 필요 없고 시간 낭비도 없습니다. 다른 사람과 뉴스를 공유하는 것은 어떨까요? 이것도 좋지만, 다른 사람이 자신의 SQL 데이터베이스에 액세스하도록 허용할 필요는 없습니다. 또한 다른 사람에게 데이터베이스 구조를 설명할 필요도 없습니다. 단지 기본 SQL 쿼리로부터 XML을 만들고 이를 공유하기만 하면 됩니다.
독립 실행형 애플리케이션 코딩을 성공적으로 완료하여 SQL 쿼리와 XML 생성이 가능하게 되었으니 절반은 마친 셈입니다. 다음은 XML을 다른 포맷으로 변환하고 웹 애플리케이션을 구축하기 위해 필요한 WebLogic Server 옵션에 대해 살펴볼 차례입니다. 현재 XML 작업 흐름을 처리하기 위한 여러 기술이 존재하지만 이 중에서 XSLT JSP 태그 메서드라는 한 가지 기술만 소개하겠습니다. WebLogic Server에서 제공되는 이 간단한 JSP 태그 라이브러리는 JSP 내에서 XSLT 변환기에 편리하게 액세스하기 위한 것으로, XML 문서를 HTML, WML 및 기타 포맷으로 변환하는 데 사용됩니다. 먼저 이러한 도구를 이용할 웹 애플리케이션을 위한 환경을 준비하는 과정에 대해 살펴보겠습니다.
웹 애플리케이션용 CLASSPATH를 매번 구성하는 것은 바람직하지 않습니다. 따라서 모든 Oracle jar 파일을 애플리케이션의 \WEB-INF\lib
디렉토리로 옮겨야 합니다. 또한 Oracle 홈에서 \rdbms\jlib\xsu12.jar
및 \lib\xmlparserv2.jar
파일을 복사해야 합니다. WebLogic Type 4 JDBC 드라이버는 WebLogic Server를 설치할 때 서버의 홈 디렉토리 \server\lib
폴더에 설치되고, 서버의 CLASSPATH에 자동으로 추가됩니다.
WebLogic XML 태그를 사용하는 과정은 매우 간단하며 WebLogic 설명서 Developing XML Applications with WebLogic Server 에도 자세히 설명되어 있습니다. 하지만 더 쉽게 이해할 수 있도록 전체 과정을 설명하겠습니다.
WebLogic Server 설치 디렉토리 경로인 \bea\weblogic81\server\ext\
에서xmlx.zip
을 가져옵니다. 이 아카이브에 있는 xmlx-tags.jar
파일을 웹 애플리케이션의 \WEB-INF\lib
디렉토리에 저장해야 합니다.
C:\white\work\Java\xmlweb\xmlweb_war\WEB-INF\lib>pkzipc -extract C:\bea\weblogic81\server\ext\xmlx.zip xmlx-tags.jar PKZIP(R) Version 4.00 FAST! Compression Utility for Windows Copyright 1989-2000 PKWARE Inc. All Rights Reserved. Shareware Version PKZIP Reg. U.S. Pat. and Tm. Off. Patent No. 5,051,745 Masking file attributes: Read-Only, Hidden, System, Archive Extracting files from .ZIP: C:\bea\weblogic81\server\ext\xmlx.zip Inflating: xmlx-tags.jar
마지막으로 WEB-INF
디렉토리에 web.xml
파일이 필요한데, 다음과 같이 <taglib>
파일을 참조하는
<web-app> <taglib> <taglib-uri>xmlx.tld</taglib-uri> <taglib-location>/WEB-INF/lib/xmlx-tags.jar</taglib-location> </taglib> </web-app>
완전한 예제를 보려면 포함된 예제 WAR 애플리케이션을 참조하십시오.
이 섹션의 목표는 독립 실행형 애플리케이션에서 XML을 생성하는 방법에 대한 학습 내용을 기억하여, 이를 XML에서 HTML로의 추가 변환을 통해 같은 기능을 수행하는 웹 애플리케이션을 구축하는 데 적용하는 것입니다. 웹 애플리케이션에 필요한 파일을 검토해보겠습니다. 여기서는 \WEB-INF\web.xml
(위 내용 참조), html.xls
(XSL 변환기를 위한 스타일 시트로 HTML 생성에 사용됨) 및 index.jsp
(웹 애플리케이션의 기본 페이지) 파일이 사용됩니다. 다음은 이 파일들에 대한 자세한 설명입니다.
먼저 스타일 시트 파일에 대해 설명하겠습니다. html.xls
파일은 XML 출력을 HTML로 변환하는 데 사용됩니다.
<?xml version="1.0" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <table width="60%" border="1" cellspacing="0" cellpadding="1"> <tr> <td align="center"><b>Employer No.</b></td> <td align="center"><b>Employer Name</b></td> </tr> <xsl:apply-templates select="EMPLOYERS"/> </table> </xsl:template> <xsl:template match="PERSON"> <tr> <td align="center"><xsl:value-of select="EMPNO"/></td> <td align="center"><xsl:value-of select="ENAME"/></td> </tr> </xsl:template> </xsl:stylesheet>
여기서는 루트 요소를 찾고, 테이블을 만들고, PERSON
요소와 일치하는 모든 템플릿에 대해 행을 삽입합니다. 이 파일을 사용하여 들어오는 XML로부터 HTML을 생성할 수 있습니다.
index.jsp
는 웹 애플리케이션의 기본 파일로서, 일반적인 JSP 파일입니다. 여기서 JSP 태그를 사용하므로 이에 대해 살펴 보겠습니다. XSLT JSP 태그 구문은 XML을 기반으로 합니다. JSP 태그는 시작 태그, 선택 사항인 본문, 해당 종료 태그로 구성됩니다. 이 예제에서는 <xslt>
태그만 사용됩니다. 변환하려는 XML 파일의 위치(웹 애플리케이션의 문서 루트에 대한 상대적 위치)를 지정하는 xml
및 XML 문서를 변환하는 데 사용할 스타일 시트의 위치를 지정하는 stylesheet
와 같은 옵션(속성) 파라미터를 이 태그에 사용할 수 있습니다. 스타일 시트의 위치 역시 웹 애플리케이션의 문서 루트에 대해 상대적입니다. 사용 가능한 태그 및 옵션에 대한 자세한 내용은 Using the JSP Tag to Transfer XML Data 설명서의 "XSLT JSP Tag Syntax" 섹션을 참조하십시오. 이제 JSP를 살펴볼 차례입니다.
1. <%@ taglib uri="xmlx.tld" prefix="x"%> 2. <HTML> 3. <HEAD> 4. <TITLE>:: An XML bridge ::</TITLE> 5. </HEAD> 6. <BODY> 7. <%@page import="java.sql.*"%> 8. <%@page import="oracle.xml.sql.query.*"%> 9. <%@page import="oracle.jdbc.*"%> 10. <% 11. String tableName = "emp"; 12. int maxRows = 3; 13. Context ctx = new InitialContext (); 14. DataSource ds = (DataSource) ctx.lookup ("MyOra"); 15. Connection conn = ds.getConnection (); 16. OracleXMLQuery qu = new OracleXMLQuery (conn, "select EMPNO, ENAME from " + tableName); 17. qu.setMaxRows (maxRows); 18. qu.setRowsetTag ("EMPLOYERS"); 19. qu.setRowTag ("PERSON"); 20. String xmlString = qu.getXMLString (); 21. conn.close (); 22. %> 23. <x:xslt stylesheet="html.xsl"> 24. <x:xml> 25. <%=xmlString%> 26. </x:xml> 27. </x:xslt> 28. </BODY> 29. </HTML>
1번 줄에는 23번 줄에서 사용할 xmlx
태그 라이브러리가 포함되어 있으며, 7-22번 줄은 일반 Java 코드가 JSP로 변환된 것입니다(예외 처리 없음). 구문이 약간 변경된 것 이외에는 달라진 것이 없습니다. 23-27번 줄에는 실제 XML이 표시됩니다. 23번 줄은 XML 출력을 구성하고 html.xsl에 사용될 스타일 시트 파일을 설정합니다. 24-26번 줄에는 변환할 XML이 포함되는데, 이는 데이터베이스에서 검색된 것입니다. 이처럼 코드는 매우 단순합니다.
이제 코드에 친숙해졌으므로 웹 애플리케이션을 구축하고 WebLogic Server에 배포할 준비가 되었습니다. 매우 간단한 WAR이므로 직접 작성해보겠습니다. 다음은 향후 배포할 xmlweb.war
을 만드는 방법입니다.
C:\white\work\Java\xmlweb\xmlweb_war>jar -cvf xmlweb.war . added manifest adding: html.xsl(in = 579) (out= 279)(deflated 51%) adding: index.jsp(in = 935) (out= 486)(deflated 48%) adding: WEB-INF/(in = 0) (out= 0)(stored 0%) adding: WEB-INF/lib/(in = 0) (out= 0)(stored 0%) adding: WEB-INF/lib/xmlparserv2.jar(in = 689990) (out= 645476)(deflated 6%) adding: WEB-INF/lib/xmlx-tags.jar(in = 11106) (out= 9952)(deflated 10%) adding: WEB-INF/lib/xsu12.jar(in = 456545) (out= 138160)(deflated 69%) adding: WEB-INF/web.xml(in = 327) (out= 226)(deflated 30%)
이제 작성한 웹 애플리케이션 WAR 파일을 WebLogic Server에 배포할 차례입니다. WebLogic 콘솔을 사용하여 배포할 수 있습니다. 배포 후에는 웹 브라우저를 http://localhost:7001/xmlweb/index.jsp 로 연결하여 결과를 확인합니다. 그러면 그림 5와 비슷한 결과가 표시됩니다.
그림 5. . 배포된 웹 애플리케이션
데이터베이스에서 XML로 검색된 데이터가 깔끔하게 표시되는 것을 확인할 수 있습니다. 이 기술은 간단한 뉴스 제공 포털에서 템플릿과 스타일 시트가 포함된 복잡한 항목 표시 엔진에 이르기까지 매우 다양한 작업에 활용할 수 있습니다.
이 자습서에서는 SQL 쿼리를 XML 변환기와 결합하는 기술의 기본 사항에 대해 살펴봤습니다. 이를 통해 소프트웨어에서 사용할 수 있는 고유한 기능을 추가할 수 있습니다. XML 기술 자체는 웹 애플리케이션에서 다양하게 활용되고 있지만 데이터베이스와 결합할 경우 더욱 강력한 도구가 될 수 있습니다.
Alexander Prokhorenko는 공인 전문가로서 Sun Certified System Administrator 및 Sun Certified Java Programmer 인증서를 보유하고 있습니다. 관심 분야는 시스템 개발 라이프사이클 방법론, IT 프로젝트 관리, 서버 및 애플리케이션 아키텍처 등입니다.
Olexiy Prokhorenko 는 Sun Certified Enterprise Architect이며 Sun Certified Java Programmer 및 Sun Certified Web Component Developer 인증서를 보유하고 있습니다. 관심 분야는 웹 소프트웨어 아키텍처, 요구 사항이 자주 바뀌는 소프트웨어 개발, 분산된 아웃소싱 팀 관리 등입니다.
SSISO Community