ÿþ<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Content-language" content="de" /> <title>My publications</title> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> <link rel="stylesheet" href="/inc/mainstyle_2sp.css" type="text/css" /> </head> <body> <!-- CONTENT starts here --> <a name="top"></a> <div id="pagewidth"> <!-- HEADER starts here --> <div id="header"> <div id="LogoAndMore"> <div id="Logo"><a href="/"><img src="/images/logo.gif" width="292" height="80" alt=".NET Consulting (VB.NET &amp; C#) - Logo" border="0" /></a></div> <div id="LittleHelper"> <div id="LittleHelperPos"><a href="/de/buecher-artikel.html">Deutsch</a>|<a href="/index_en.html">Home</a>|<a href="/blog" target="_blank">Blog</a>|<a href="kontakt_en.aspx">Contact</a>|<a href="impressum.html">Imprint</a></div> </div> </div> <!-- TOPNAV starts here --> <div id="TopNav"> <div id="TopNavGap"> <ul> <li><a href="consulting.html"><span>Services</span></a></li><li><a href="werdegang.html"><span>My person</span></a></li><li><a href="buecher-artikel.html" class="aktiv"><span>My publications</span></a></li><li><a href="herausforderungen.html"><span>My philosophy</span></a></li><!-- <li><a href="coaching.html"><span>Coaching</span></a></li> --><li><a href="dieseseite.html" class="last"><span>Miscellaneous </span></a></li> </ul> </div> </div> <!-- TOPNAV ends here --> </div> <!-- HEADER ends here --> <div id="wrapper" class="clearfix"> <div id="twocols" class="clearfix"> <!-- MAINCOL starts here --> <div id="maincol"> <div id="maincolGap"> <h1>My publications</h1> <p>My publications in books, <a href="#Artikel">articles</a> in trade journals and <a href="#Webcasts">webcasts:</a></p> <h3>Reference books</h3> <!-- Buchreihe starts here --> <div class="microSLogos clearfix"> <div class="buecherLeft"><p><a href="datenbankprogrammierung-dot-net4_0.html"><img src="../images/buch_dotnet4_0.png" width="160" height="200" alt="" border="0" /></a></p><p><a href="http://www.hanser.de/" target="_blank">Hanser</a>, 784 pages, 06.05.2010</p></div> <div class="buecherLeft"><p><a href="VisualCSharp2010.html"><img src="../images/buch_CSharp2010.png" width="160" height="200" alt="" border="0" /></a></p><p><a href="http://entwickler-press.de/" target="_blank">Entwickler Press</a>, 1275 pages, 12.10.2008</p></div> <div class="buecherLeft"><p><a href="adonetframework40.html"><img src="../images/buch_ADONETEF40.png" width="160" height="200" alt="" border="0" /></a></p><p><a href="http://www.microsoft-press.de/product.asp?cnt=product&id=ms-5461&lng=0&titel=Programmieren mit dem ADO.NET Entity Framework" target="_blank">Microsoft Press</a>, 388 pages, 09.12.2010</p></div> </div> <div class="microSLogos clearfix"> <div class="buecherLeft"><p><a href="sqlclr.html"><img src="../images/buch_sql.jpg" width="147" height="200" alt="" border="0" /></a></p><p><a href="http://www.microsoft-press.de/search.asp?sid=8dbd307bc07e152db67a5146ecda6c68&s0=kansy&s1%5B%5D=deutsch&cnt=search" target="_blank">Microsoft Press</a>, 368 pages, 21.04.2009</p></div> <div class="buecherLeft"><p><a href="datenbankprogrammierung-dot-net3_5.html"><img src="../images/buch_dotnet3_5.jpg" width="160" height="200" alt="" border="0" /></a></p><p><a href="http://www.hanser.de/" target="_blank">Hanser</a>, 648 pages, 07.08.2008</p></div> <div class="buecherLeft"><p><a href="linq.html"><img src="../images/buch_linq.jpg" width="136" height="200" alt="" border="0" /></a></p><p><a href="http://entwickler-press.de/" target="_blank">Entwickler Press</a>, 338 pages, 15.10.2008</p></div> </div> <!-- Buchreihe ends here --> <h3>Articles/ Webcasts (extracts are translated into English for your convenience)</h3> <a name="Artikel"></a><a name="Webcasts"></a> <h4>Alles Neue macht der Mai</h4> <p><a href="http://www.windowsdeveloper.de" target="_blank">windows.developer</a> 06.12</p> <p>Die neuste Version von Microsofts SQL Server 2012 bietet im Gegensatz zu seinem Vorgänger eine ganze Reihe von Neuerungen und Verbesserungen für die servereigene T-SQL-Sprache. Dieser Artikel stellt sie in einer kurzen Zusammenfassung vor.</p> <h4>Symbiosis of two worlds</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 03.12</p> <p>So far, data in the database and the files or directories on your hard disk were separate worlds. Now, with SQL Server 2012, symbiosis succeeded and the two worlds can be joined together seamlessly.</p> <h4>Eight in One Sweep</h4> <p><a href="http://www.dotnetpro.de/" target="_blank">dotnetpro</a> 12.11</p> <p>Microsoft s Database Server offers not only T-SQL as a language for queries and data processing, but there are also C# and VB.NET. This provides the complete .NET Framework range of classes and functions, and so, even complicated tasks can be solved.</p> <h4>Programming like in the Clouds?  SQL Azure: A development survey</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 09.11</p> <p>SQL Azure, Microsoft s Server in the Cloud, has been available for 18 months. A good moment for a development survey.</p> <h4>EntityClient API: ADO.NET Entity s Client API</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 09.11</p> <p>Dot.NET Magazine issue 8.2011 introduced Entity SQL (ESQL) in general as a query language of ADO.NET Entity Framework. As an alternative beside LINQ TO Entities, this language similar to SQL allows to write database-independent queries, implemented for the database instructions by the database provider. This article presents EntityClient API, which helps to execute such queries.</p> <h4>Entity SQL: Using ADO.NET Entity Framework 4.0 with your own query language</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 08.11</p> <p>Microsoft s own O/RM- (object-relational-mapping) technology, ADO.NET Entity Framework 4.0, is often used with LINQ to Entities. Yet there is a similar query language that can be used to the same end. Matching Entity Framework, this language is named Entity SQL, being a database independent SQL dialect. Using it, the data provider translates it to the appropriate dialect of the database employed. This article offers a brief survey of Entity SQL, and its use in proper applications.</p> <h4>How to display reports as PDF: Generating reports as PDF without technical dependencies and licenses</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 07.11</p> <p>Many business applications need to display data in a printable and largely inalterable format like Adobe PDF  often after a page view. Without the help of external tools or components, this requirement can be met with standard tools of Visual Studio and .NET Framework; thus additional license charges and complex training can be avoided. It does not matter which kind of .NET application (ASP.NET, WPF, WinForms, or a simple console application) is required.</p> <h4>OFFSET/FETCH NEXT: Paging with the help of OFFSET-Operator for SQL Server 2011</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 06.11</p> <p>It is often that out of a query bulk, only certain lines are required, which need not be the first lines (in that case, a simple TOP n [WITH TIES] would suffice). For instance, the operator needs to see the results on the fourth page. At 10 hits per page, this would be No. 31 through 40  given there are as many hits. Or in a sorted evaluation, the backmost positions are important. This procedure is called  Paging , which hints at the splitting of a larger number of lines into separate pages.</p> <h4>Under lock and key: How to protect sensitive date using the System.Security.SecureString class</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 06.11</p> <p>Almost all applications contain very sensitive data, frequently keywords or connection strings (with keywords) required for the access to databases and other external resources. This information can be secured cyptographically using a class designated for this purpose.</p> <h4>All in sequence  individual sequences for SQL Server 2011 in detail</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 05.11</p> <p>SQL Server 2011 will offer a new feature that many have been waiting for, and that is already working in the latest CTP: individual, database-wide and fail-safe sequences. A good reason to view in detail the function which will certainly make in-house developments redundant.</p> <h4>Flying high toward "Denali": Innovations and improvements in SQL Server 11</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 04.11</p> <p>If you ask the Internet for the meaning of the name  Denali , you will soon find out that it is the Native American name of Mount McKinley, the highest mountain in North America (6194 m), to be found in Denali National Park in Alaska [1]. This implies that Microsoft would like to hint that by choosing code name Denali for the new SQL Server version, they mean to keep flying high. Only the release will show if this objective will be achieved. To begin with, this article features an overview of the essential innovations and improvements. Some are already included in the first Community Technical Preview (CTP), others will be featured in later CTPs or the final version.</p> <h4>Sun and rain  a first conclusion from SQL Azure practice</h4> <p><a href="http://www.databasepro.de/" target="_blank">databasepro</a> 02.11</p> <p>SQL Azure has been in the market for a year  time for a first conclusion. Does the technology keep its promises? Which areas are still incomplete? And what does the future look like?</p> <h4>Big Brother in SQL Server 2008 R2 - How to comprehensively supervise actions in SQL Server 2008 R2 databases</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 03.11</p> <p>With SQL Server 2008, Microsoft has introduced a new feature many have been waiting for: SQL Server Auditing , which is a component of the Enterprise Edition and the Developer Edition. Prior server versions already handled similar functions, but their management used to be laborious and difficult to use practically, as it called for the use of the SQL Server Profiler, which needed to run along continuously. With SQL Server 2008, this at long last became redundant. Now the Auditing can be activated and evaluated easily (as always by using Microsoft SQL Server Management Studio and T-SQL). In this consolidated article, you learn how to make use of this for your own applications. The deployment of T-SQL is emphasized specifically, which can easily be transferred and integrated.</p> <h4>Into the cloud at half throttle - SQL Azure: a conclusion from first experience</h4> <p><a href="http://www.dotnetpro.de/" target="_blank">dotnetpro</a> 03.11</p> <p>SQL Azure, the Cloud version of Microsoft s SQL Server, has been available for almost one year  time to look back on the experiences from everyday use of the online platform. The technology basically keeps its promises  but it makes sense in certain areas only.</p> <h4>The one with the BLOB  Using the SQL Server 2008 R2 Filestream</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 12.10</p> <p>SQL Server 2008 R2 allows the filing of binary, unstructured database contents (BLOBs) directly to the NTFS file system. The database module takes care of the necessary transaction security, as well as the complete integrity for database backups and restores.</p> <h4>Sherlock in SQL Server 2008 R2  Part 2: On the trail of alterations to data and schemes</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 11.10</p> <p>The previous, first part of this two-piece series covered Change Data Capture (CDC), a new feature starting with SQL Server 2008, which helps to detect alterations to data (DML) as well as to the table structure (DDL) between two points. This second part introduces the potentials and the practical use of a similar functionality: Change Tracking, a functionality which, just as CDC, is completely transparent for the application. This complete transparency is achieved by the possibility of providing specific information, e.g. the reason for data alterations, with the help of a change context. In order to facilitate a project-related choice, both features are placed in contrast to each other.</p> <h4>Sherlock in SQL Server 2008 R2  Part 1: On the trail of alterations to data and schema</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 10.10</p> <p>In order to synchronise, for example, data inventories, or to keep a record, various applications often are compelled to ascertain which alterations have occurred in the database table between two moments. Before the introduction of SQL Server 2008, this was often achieved with the help of Timestamp columns or triggers and alteration tables. While the use of Timestamp columns does not allow the table to be replicated, the use of triggers and alteration tables was laborious, slow, and error-prone. With Change Data Capture (CDC) and Change Tracking, SQL Server 2008 (R2) offers two solutions, which both can be used completely transparently, for this task.</p> <h4>To shape up databases: Data level applications with SQL Server 2008 R2<br /> and Visual Studio 2010</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 09.10</p> <p>Upon preparation (deployment, installation), software based upon its own database often faces the problem of installation or updating that database, too. Especially larger companies usually have such database alterations performed only by the corresponding support team. So what to do? Create T-SQL Scripts that are more or less flexible and tough against errors, and execute these? Not at all! There is a more solid solution with SQL Server 2008 R2 and Visual Studio 2010: Data level applications.</p> <h4>SQL Server 2008 R2 Filestream  To save BLOBs to the database</h4> <p><a href="http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032455029" target="_blank">MSDN Webcast</a></p> <p>This webcast demonstrates the possibilities the "Filestream" feature provides in order to efficiently save and access BLOBS (Binary Large Objects). Additionally, it addresses further SQL Server features related to the "filestream" feature  it is especially the full text search that allows interesting alternatives. The webcast is completed by practical code examples.</p> <h4>Kilimanjaro Summiteer: The most important innovations in SQL Server 2008 R2</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 07.10</p> <p>The latest version of Microsoft s database technology is called SQL Server 2008 R2 (Codename  Kilimanjaro ). Even though R2 means Release 2 steht and the version is not called, as could be presumed, SQL Server 2010, several interesting innovations are included. We give you a short introduction in order to facilitate the decision to change now (already).</p> <h4>Gehen wie auf Wolken: Eine praktische SQL Azure-Einführung</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 07.10</p> <p>SQL Azure soll Microsofts Datenbanktechnik in der Cloud für die Zukunft sein. Doch was ist jetzt schon möglich und machbar für die eigene Anwendung? Dieser Artikel zeigt die ersten Schritte auf und macht deutlich, dass (noch) nicht alles so einfach ist, wie man es sich wünschen würde und die Werbung es gern verspricht.</p> <h4>Security Extensions: Write your own authentication and authorisation for SSRS</h4> <p><a href="http://www.dotnetpro.de/" target="_blank">dotnetpro</a> 06.10</p> <p>SQL Server Reporting Services (SSRS), which SQL Server has brought along since Version 2005, generate sophisticated reports from various data sources. The SSRS Security Extensions regulate what each user is allowed to do.</p> <h4>To never lose another word: SQL Server 2008 R2 Full Text Search</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 06.10</p> <p>Since Version 2008, SQL Server has had a new and improved implementation of the Full-Text Search (FTS). It enables you rather cleverly to search for words in columns containing texts or whole documents. This article gives you a comprehensive survey of the fields of application, configuration, as well as the varying query options.</p> <h4>Eight T-SQL treasures</h4> <p><a href="http://www.visualstudio1.de/" target="_blank">Visual studio one</a> 02.10</p> <p>The in-house T-SQL query language of Microsoft s SQL Server 2008 contains many useful and practical features. Some of those are not really well-known, although they certainly would deserve to be more popular. This article will rectify these shortcomings, and serves you the tasty menu  Eight Treasures .</p> <h4>The shorter the better  new features for VB.NET 10</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 02.10</p> <p>It is scheduled for publication in the end of March 2010: Visual Studio 2010, .NET Framework 4.0, and along with them improved versions of the languages C# and VB.NET. This means it is time to take a look at the new VB.NET features.</p> <h4>Constructing a highway  How to optimize the perfermance of ADO.NET and SQL Server</h4> <p><a href="http://www.dotnetpro.de/" target="_blank">dotnetpro</a> 12.09</p> <p>The better your question, the faster the answer. At least this goes for ADO.NET-Code, which queries data from Microsoft SQL Server. However, some functions supposed to ease the developer s life thwart SQL Server. dotnetpro shows how to present your queries so you can obtain your data more quickly.</p> <h4>Headed for Kilimanjaro  New features for Reporting Services in the new SQL Server 2008 R2</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 12.09</p> <p>For the first half of 2010, SQL Server 2008 R2 (codename  Kilimanjaro ) has been announced, for which even now an August CTP is available. The new version of SQL Server brings along some new, revised, and improved features for the Reporting Services (SSRS).</p> <h4>ROW_NUMBER & Co  The four windowed functions of Microsoft SQL Server</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 11.09</p> <p>SQL Server features a number of functions which generate row numbers, divide result sets into (reasonably) equal parts, and do many other interesting things: the ranking or windowed functions. The name is as bulky as the usage appears at first sight. This article demonstrates how deceptive this first sight is.</p> <h4>Quickly: How to import data from DataTable objects into SQL Server using .NET</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 10.09</p> <p>In spite of effective ETL tools, like Microsoft SQL Server Integration Services, some programs keep facing the challenge of transferring large data quantities into tables on the SQL server within short periods of time. This evokes the question of which approach is the quickest, and what advantages can be found in other methods. The answers are to be found here. Moreover, the source code contains all relevant methods for performance determination.</p> <h4>Influence it - SQL Server 2008: To know and to use query and table hints</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 09.09</p> <p>Even though Microsoft SQL Server 2008 executes most queries posed reliably and at the best, at one time or other it cannot hurt to influence its operation methods using the right query hint ("Optimizer Hint") or table hint. Here you can learn about the important hints and how to use them.</p> <h4>Searching for the right word - SQL Server 2008: Full-text search</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 08.09</p> <p>SQL Server 2008 features a new and improved implementation of the full-text search (FTS), which allows, in a rather intelligent way, to search for words in columns, where texts or whole documents are stored. This article offers a survey of the options in full-text search, configuration, and the potentials of queries.</p> <h4>About the BLOB</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 07.09</p> <p>SQL Server 2008 holds a new feature which permits the filing of binary, unstructured database contents (BLOBs) directly into the NTFS file system. The database module takes care of the necessary transaction, security, as well as the complete integrity in database backup and recovery.</p> <h4>Snatch it! Introduction to ADO.NET DataServices</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 06.09</p> <p>What first went by the illustrious name  Astoria Project ist now an integral part of .NET Framework 3.5 Service Pack 1. ADO.NET DataServices offer the access to information and data via simple access patterns and the standard protocols HTTP and HTTPS, which makes the use of a large number of software and hardware platforms possible.</p> <h4>Big Brother im SQL Server 2008</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 03.09</p> <p>SQL Server 2008 introduces a feature many have been waiting for: SQL Server Auditing. Although many of its predecessors had similar functions, their handling was laborious and difficult. Now auditing can be activated and evaluated easily. Take advantage of this feature in your own applications.</p> <h4>Sherlock in SQL Server  Enquiring data and schema changes (2/2)</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 02.09</p> <p>The second part of this series presents the possibilities and the practical use of Change Tracking. Precisely like CDC, which was reviewed in part 1, Change Tracking is perfectly transparent for the application. Or, to be exact: It can be perfectly transparent, as it is possible to provide specific information, for instance, why data were changed, via an changing context. For easier comparison, both features are presented in contrast, so a project-related selection is made easier.</p> <h4>Sherlock in SQL Server  Enquiring data and schema changes (1/2)</h4> <p><a href="http://www.dotnet-magazin.de/" target="_blank">dot.net magazin</a> 01.09</p> <p>Different applications keep facing the task of finding out which alterations have taken place within a table in a certain period of time. Until (and including) SQL Server 2005, this often was carried out with the help of Timestamp columns or triggers and alteration tables. While the erstwhile solution did not allow any table replication, the second was too laborious, slow, and error-prone. Things have changed with SQL Server 2008, which offers two solution approaches with Change Data Capture (CDC) and Change Tracking. Both can be used for the task definition in a fully transparent way.</p> <div class="contentMore"><a href="buecher-artikel_seite2.html">more articles</a></div> </div> </div> <!-- MAINCOL ends here --> </div> <!-- LEFTNAV starts here --> <div id="leftcol"> <div id="leftcolGap"> <ul> <li><a href="buecher-artikel.html" class="aktiv">Books &amp; articles</a></li> <li><a href="datenbankprogrammierung-dot-net4_0.html">Database programming<br />with .NET 4.0</a></li> <li><a href="adonetframework40.html">Programming with ADO.NET Entity Framework 4.0</a></li> <li><a href="VisualCSharp2010.html">Visual C# 2010</a></li> <li><a href="sqlclr.html">SQL Server 2008 CLR</a></li> <li><a href="datenbankprogrammierung-dot-net3_5.html">Database programming<br />with .NET 3.5</a></li> <li><a href="linq.html">LINQ</a></li> </ul> </div> <!-- LEFTNAV ends here --> <!-- LOGOS starts here --> <div id="logosLeft"> <!-- LOGO here --> <a href="http://basta.net/" target="_blank"><img src="/images/speakerbutton_basta11_en.gif" width="128" height="128" alt="Speaker at BASTA! 2011" border="0" style="border:0;" /></a> <a href="http://sqlcon.net/" target="_blank"><img src="/images/speakerbutton_sqlcon11_en.gif" width="128" height="128" alt="Speaker at SQLCON 2011" border="0" style="border:0;" /></a> <a href="http://www.sqldays.net/" target="_blank"><img src="/images/speakerbutton_SQLdays11.gif" width="140" height="100" alt="Speaker at SQLDays 2011" border="0" style="border:0;" /></a> <a href="http://europe.ineta.org/Countries/Germany/Home/DeutschesSpeakersBureau/tabid/348/Default.aspx" target="_blank"><img src="/images/Ineta.gif" width="136" height="94" alt="INETA Speaker" border="0" style="border:0;" /></a> <a href="http://www.microsoft-press.de/search.asp?sid=8dbd307bc07e152db67a5146ecda6c68&s0=kansy&s1%5B%5D=deutsch&cnt=search" target="_blank"><img src="/images/BuchautorMicrosoftPress2010.gif" width="150" height="150" alt="Book author for MSPress" border="0" style="border:0;" /></a> <a href="http://www.microsoft-press.de/search.asp?sid=8dbd307bc07e152db67a5146ecda6c68&s0=kansy&s1%5B%5D=deutsch&cnt=search" target="_blank"><img src="/images/BuchautorMicrosoftPress2009.gif" width="150" height="150" alt="Book author for MSPress" border="0" style="border:0;" /></a> </div> <!-- LOGOS ends here --> </div> </div> <!-- FOOTER starts here --> <div id="footer"> <div id="footerBack"><a href="javascript:history.back();">back</a></div> <div id="footerTop"><a href="#top">top</a></div> </div> <!-- FOOTER ends here --> </div> <!-- CONTENT ends here --> </body> </html>